|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||Drag & Drop||MBS Win Plugin||10.5||No||Yes||No||Yes, Windows only||No|
The WindowsDragSourceMBS class is one of the class you implement to provide drag-and-drop operations in your application. It contains methods used in any application used as a data source in a drag-and-drop operation. The data source application in a drag-and-drop operation is responsible for:
- Determining the data being dragged based on the user's selection.
- Initiating the drag-and-drop operation based on the user's mouse actions.
- Generating some of the visual feedback during the drag-and-drop operation, such as setting the cursor and highlighting the data selected for the drag-and-drop operation.
- Canceling or completing the drag-and-drop operation based on the user's mouse actions.
- Performing any action on the original data caused by the drop operation, such as deleting the data on a drag move.
WindowsDragSourceMBS contains the events for generating visual feedback to the end user and for canceling or completing the drag-and-drop operation.
When To Implement
Implement WindowsDragSourceMBS if you are developing a container or server application that can act as a data source for a drag-and-drop operation. The WindowsDragSourceMBS interface is only required during the drag-and-drop operation.
If you implement the WindowsDragSourceMBS class, you must also implement the DataObjectMBS class on the same object to represent the data being transferred.
You can use the same implementation of DataObjectMBS for drag-and-drop data as for the data object offered to the clipboard. After you have implemented clipboard operations in your application, you can add drag-and-drop operations with only a little extra work.
When To Use
You do not usually call the WindowsDragSourceMBS methods directly. Instead, your data source calls the DoDragDrop function when it detects that the user has initiated a drag-and-drop operation. Then, DoDragDrop calls the WindowsDragSourceMBS methods during the drag-and-drop operation.
For example, DoDragDrop calls WindowsDragSourceMBS.GiveFeedback when you need to change the cursor shape or when you need to provide some other visual feedback. DoDragDrop calls WindowsDragSourceMBS.QueryContinueDrag when there is a change in the mouse button state to determine if the drag-and-drop operation was canceled or completed.
While the drag classes compile for Web Edition, they run on the server, so they have no effect on the client browser!
- 2 events
- property Handle as Integer
- method DoDragDrop(dataObject as WinDataObjectMBS, OKEffect as Integer, byref Effect as Integer) as Integer
- 17 constants
- const DRAGDROP_S_CANCEL = &H00040101
- const DRAGDROP_S_DROP = &h00040100
- const DRAGDROP_S_USEDEFAULTCURSORS = &h00040102
- const DROPEFFECT_COPY = 1
- const DROPEFFECT_LINK = 4
- const DROPEFFECT_MOVE = 2
- const DROPEFFECT_NONE = 0
- const DROPEFFECT_SCROLL = &h80000000
- const MK_CONTROL = 8
- const MK_LBUTTON = 1
- const MK_MBUTTON = &h10
- const MK_RBUTTON = 2
- const MK_SHIFT = 4
- const MK_XBUTTON1 = &h20
- const MK_XBUTTON2 = &h40
- const S_FALSE = 1
- const S_OK = 0
This class has no sub classes.
Some examples which use this class:
- /Win/Drag and Drop/File Drag
- /Win/Drag and Drop/File Drag Multi
- /Win/Drag and Drop/Folder Drag
- /Win/Drag and Drop/Picture Drag
- /Win/Drag and Drop/Picture Drag with Mask
- /Win/Drag and Drop/Text Drag
The items on this page are in the following plugins: MBS Win Plugin.
MBS Xojo blog