Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 8.4   8.5   9.0   9.1   9.2   9.3   9.4   9.5   10.0   10.1    Statistic  


Creates a new drop area on the given window covering the area of the given control.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
DragDrop 2.4 Yes Yes No No No
MBS( "DragDrop.CreateWithControl"; WindowRef; ControlName { ; DX; DY } )   More


Parameter Description Example value
WindowRef Window Reference is the unique OS level window ID. You can obtain this by using the Window.FindByTitle or Window.FindByIndex functions. Pass zero to access the frontmost window. 0
ControlName The name of the control on your FileMaker form. For example "mymedia" if you assign this name to a rectangle. "mymedia"
DX Optional
A delta to move drop area more to left or right.
DY Optional
A delta to move drop area more to top or bottom.


Returns Drop Area ID on success.


Creates a new drop area on the given window covering the area of the given control.
Use DragDrop.Release later to destroy the drop area.
If you use a register on the window, be aware that the drop area actually is in front of the register. So you need to check in the script which register page is current and should get the dropped files.
Drag & Drop reference numbers are starting at 31000 and counting up for each new drop area.

Added Windows support for MBS Plugin 8.1 for FileMaker 16 or newer.
When creating on a card window, please pass reference to parent window or just 0 for front window. On MacOS you may need to pass delta y value to adjust position.

If you create a control on a new window, you may do window update command in your script first to have FileMaker actually build the window with controls and display it. A short script pause or using FM.RunScriptLater with 0.1 delay can help having all controls draw themselves. Then you can use this command to put our control on top. We use GetControl() to query left, top, width and height and this gives empty value if control is not yet here.


Creates a new drop area:

Set Variable [ $$dropview ; Value: MBS("DragDrop.CreateWithControl"; Get(WindowName); "drop") ]
Set Variable [ $result ; Value: MBS( "DragDrop.RegisterDropTypes"; $$dropview; "file") ]
Set Variable [ $result ; Value: MBS( "DragDrop.SetDragActionHandler"; $$dropview; Get ( FileName ); "DragAction") ]
Set Variable [ $result ; Value: MBS( "DragDrop.SetCursor"; $$dropview; 1) ]
Set Variable [ $result ; Value: MBS( "DragDrop.SetImage"; $$dropview; DragTest::DropLogo) ]

See also

Example Databases

Blog Entries

Release notes

Created 18th August 2014, last changed 25th December 2019

DragDrop.CreateOnPopoverWithSize   -   DragDrop.CreateWithSize

Feedback: Report problem or ask question.

MBS FileMaker tutorial videos