Common methods for objects

Implementation of the Drag-and-Drop feature

The implementation of the Drag-and-Drop features allow user to extend this ability to remove data in same window or another one . The action of holding a mouse button down and moving a control is called Dragging, and the action of releasing the button is called dropping .

Let exist dialog. It contain TREE  and LISTBOX objects. We'll remove element of the TREE object to the object LISTBOX.


PIC. 1

In order that object LISTBOX react to Darg-and-Drop  operation it's necessary set relation between interface objects. Action Drag for object TREE is named, for example "111", and action Drop for object LISTBOX   we assign the same name. Each object can execute action Drag with one name only, but take action Drop from several different named objects.

In moment Drag-and-Drop operation generate following events:
OnDrop              - Drag the selection over a valid drop target and release the mouse.
OnDragHover - Drag the selection over a valid drop target.
OnDragMove  - Drag the selected text or object.
OnDragLeave - Drag the selection over a valid drop target, and then move that selection out again without dropping it.

Data formed on event represent on the pucture 2.


fig.2

RETURNS DYNAMIC array:
ID Description For what events fill
1 dialog (screen) name for all
2 object name for all
3

message type
50 message from screen objects
51 message from dialog objects

for all
4 dialog identifier for all
5 object identifier in dialog for all
6 message name for all
7 Drop-action name for all
  object element description, above which there was an event
8,1 number except OnDragLeave
8,2 text except OnDragLeave
9 flag, Whence event has come: D - dialog, S - screen except OnDragLeave
10 sourse dialog identifier except OnDragLeave
11 object identifier in sourse dialog except OnDragLeave
12 X- coordinate of the point from which the selection is dragged except OnDragLeave
13 Y-coordinate of the point  whether the selection being dragged is over the drag source except OnDragLeave
14 window identifier value (hwnd) except OnDragLeave
  object element description, which moves
15,1 element number for all
15,2 text for all

Methods

SetDragName Sets name of a Drag-action
SetDropName Sets name of a Drop-action
AddDropName Adds Drop-action name
DeleteDropName Deletes Drop-action name
SetDropDelay Sets value of the time interval after what event OnDragHover begin
SetDropScrollInterval Sets interval value of the scrolling  object window.
SetDropScrollMargin Sets space value from the top and bottom window border

Common methods description