Cursor - the mouse cursor in the window (can be overlapped for all visual objects by setting the global variable ScreenCursor). Unlike VCL, this property in KOL, observing the principle of the minimum number of object references, stores a number that is a handle to a cursor, of the hCursor type. Note: to immediately change the cursor on the screen, it is not enough to change this property; you must also call the SetCursor API function, passing the same cursor as a parameter to it;
CursorLoad(inst, s) - loads the specified resource and sets it as the window cursor;
OnMouseDown - the event of pressing one of the mouse buttons (left, middle or right). Unlike keyboard events, which are sent only to the window in focus, all mouse events are triggered for all visual objects, starting with the most nested ones (which makes it possible to create a common handler for the required mouse events for the parent window);
OnMouseUp - mouse button release event;
OnMouseMove - event of moving the mouse pointer;
OnMouseDblClk - mouse double click event. May only occur for windows that have a corresponding CS_DBLCLKS flag in their class style;
OnMouseWheel - mouse wheel rotation event;
OnClick - the event of "pressing" on the control. I included it here, in the list of the most common properties, since it is typical for almost all visual objects (except for the form itself - only OnMouseXXXX events are valid for it!). Perhaps the placement of this event here is also somewhat out of place because this event can be triggered not only by clicking the left mouse button (for buttons, for example, this event also occurs as a result of pressing the <spacebar> key on the keyboard). But its name quite eloquently describes the purpose of this event (to react to a mouse click), so let it be here. Although on the form itself, this event just does not fire, just because this event is processed not in response to a mouse click, but to the arrival of a WM_COMMAND or WM_NOTIFY window message.
OnMouseEnter - an event that is triggered when the mouse enters the area visually occupied by the object for the first time;
OnMouseLeave - an event that is triggered when the mouse cursor leaves the window;
MouseInControl - checks if the mouse cursor is within the visual boundaries of the object. Works only if at least one of the handlers for the OnMouseEnter, OnMouseLeave events is assigned (otherwise it always returns false);
LikeSpeedButton - this method changes the behavior of the window object in such a way that when the mouse button is pressed on it, the OnClick event (if assigned) is triggered, but after that, the input focus is returned to the window to which it belonged before the mouse click. this is similar to how TSpeedButton works in VCL, but in KOL any window object can behave this way. Although, of course, this property is designed primarily for buttons;
OnDropFiles - this event is triggered when the user has selected one or more files in an application (most likely in Windows Explorer), then dragged them with the mouse onto the window of our window object, and released the left mouse button (a common Windows operation is "dragging" objects with the mouse , drag and drop). In the event handler, you can get a list of files thrown in this way, and do something with them (the files themselves remain where they were - at least until the moment this event occurs, and our application receives only a list of lines containing paths to these files). This event can be assigned to the entire form, or to a child window object, and it affects, among other things, all nested controls.