DragDrop.CreateWithControl
--------------------------

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

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [DragDrop](component_DragDrop.md) | [2.4](newinversion24.md) | ✅ Yes | ✅ Yes | ❌ No | ❌ No | ❌ No |

MBS( "DragDrop.CreateWithControl"; WindowRef; ControlName { ; DX; DY } ) 

**MBS**( **"DragDrop.CreateWithControl";** /\* Creates a new drop area on the given window covering the area of the given control. \*/  
**$WindowRef**; /\* Window Reference is the unique OS level window ID. You can obtain this by using the [Window.FindByTitle](WindowFindByTitle.md) or [Window.FindByIndex](WindowFindByIndex.md) functions. Pass zero to access the frontmost window.e.g. 0 \*/   
**$ControlName**; /\* The name of the control on your FileMaker form.   
e.g. you can place a rectangle there to define the position.e.g. "mymedia" \*/   
**$DX**; /\* Optional; A delta to move drop area more to left or right.e.g. 0 \*/   
**$DY**) /\* Optional; A delta to move drop area more to top or bottom.e.g. 0 \*/ 

### Parameters

| Parameter | Description | Example | Flags |
|---|---|---|---|
| WindowRef | Window Reference is the unique OS level window ID. You can obtain this by using the [Window.FindByTitle](WindowFindByTitle.md) or [Window.FindByIndex](WindowFindByIndex.md) functions. Pass zero to access the frontmost window. | 0 |  |
| ControlName | The name of the control on your FileMaker form.    e.g. you can place a rectangle there to define the position. | "mymedia" |  |
| DX | A delta to move drop area more to left or right. | 0 | Optional |
| DY | A delta to move drop area more to top or bottom. | 0 | Optional |

### Result

Returns Drop Area ID on success.

### Description

Creates a new drop area on the given window covering the area of the given control.  
Use [DragDrop.Release](DragDropRelease.md) 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 &amp; 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](FMRunScriptLater.md) 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 GetLayoutObjectAttribute() to query left, top, width and height and this gives empty value if control is not yet here.  
  
Creation fails to pick the right window in case the window is selected by name and the window name is not unique. In that case better work with window reference numbers or just pass 0 for current front window.  
### Examples

Creates a new drop area:

 Set Variable \[ $$dropview ; Value: MBS ("DragDrop.CreateWithControl"; Get(WindowName); "drop") \]   
Set Variable \[ $result ; Value: MBS ( "[DragDrop.RegisterDropTypes](DragDropRegisterDropTypes.md)"; $$dropview ; "file") \]   
Set Variable \[ $result ; Value: MBS ( "[DragDrop.SetDragActionHandler](DragDropSetDragActionHandler.md)"; $$dropview ; Get ( FileName ); "DragAction") \]   
Set Variable \[ $result ; Value: MBS ( "[DragDrop.SetCursor](DragDropSetCursor.md)"; $$dropview ; 1) \]   
Set Variable \[ $result ; Value: MBS ( "[DragDrop.SetImage](DragDropSetImage.md)"; $$dropview ; DragTest::DropLogo ) \]  
### See also

- [DragDrop.RegisterDropTypes](DragDropRegisterDropTypes.md)
- [DragDrop.Release](DragDropRelease.md)
- [DragDrop.SetCursor](DragDropSetCursor.md)
- [DragDrop.SetDragActionHandler](DragDropSetDragActionHandler.md)
- [DragDrop.SetImage](DragDropSetImage.md)
- [FM.RunScriptLater](FMRunScriptLater.md)
- [ImageView.CreateWithControl](ImageViewCreateWithControl.md)
- [MapView.CreateWithControl](MapViewCreateWithControl.md)
- [Window.FindByIndex](WindowFindByIndex.md)
- [Window.FindByTitle](WindowFindByTitle.md)

### Release notes

- **Version 11.1**
    - Fixed an issue where [DragDrop.CreateWithControl](https://www.mbsplugins.eu/DragDropCreateWithControl.shtml) and similar function would not position correctly if Dock is on the left side of the screen.
    - Fixed [DragDrop.CreateWithControl](https://www.mbsplugins.eu/DragDropCreateWithControl.shtml) to accept DX/DY on macOS, too.
- **Version 11.0**
    - Changed [DragDrop.CreateWithControl](https://www.mbsplugins.eu/DragDropCreateWithControl.shtml), [DragDrop.CreateWithSize](https://www.mbsplugins.eu/DragDropCreateWithSize.shtml), [DragDrop.CreateWithWindow](https://www.mbsplugins.eu/DragDropCreateWithWindow.shtml) to return an error if the control can't be created properly.
- **Version 10.3**
    - Rewrote control placement for MacOS and iOS controls for [AVPlayer.AddView](https://www.mbsplugins.eu/AVPlayerAddView.shtml), [DragDrop.CreateWithControl](https://www.mbsplugins.eu/DragDropCreateWithControl.shtml), [ImageView.CreateWithControl](https://www.mbsplugins.eu/ImageViewCreateWithControl.shtml), [MapView.CreateWithControl](https://www.mbsplugins.eu/MapViewCreateWithControl.shtml), [TextView.CreateWithControl](https://www.mbsplugins.eu/TextViewCreateWithControl.shtml), [WebView.CreateWithControl](https://www.mbsplugins.eu/WebViewCreateWithControl.shtml).
- **Version 10.0**
    - Changed [DragDrop.CreateWithControl](https://www.mbsplugins.eu/DragDropCreateWithControl.shtml), [DragDrop.CreateOnPopoverWithControl](https://www.mbsplugins.eu/DragDropCreateOnPopoverWithControl.shtml), [TextView.CreateWithControl](https://www.mbsplugins.eu/TextViewCreateWithControl.shtml), [TextView.SetFrameWithControl](https://www.mbsplugins.eu/TextViewSetFrameWithControl.shtml) and [TextView.CreateOnPopoverWithControl](https://www.mbsplugins.eu/TextViewCreateOnPopoverWithControl.shtml) to return error when control is not found.
- **Version 9.2**
    - Adjusted offsets for [DragDrop.CreateWithControl](http://www.mbsplugins.eu/DragDropCreateWithControl.shtml) to position on top of control better.
- **Version 8.3**
    - Fixed [DragDrop.CreateWithControl](http://www.mbsplugins.eu/DragDropCreateWithControl.shtml) for FileMaker 17.

### Example Databases

- [Drag and Drop/Better drag file from Container](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/Better%20drag%20file%20from%20Container.shtml#2ScriptAnchor_)
- [Drag and Drop/DragTest](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/DragTest.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/DragTest Email](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/DragTest%20Email.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/DragTest Image](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/DragTest%20Image.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/DragTest Text](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/DragTest%20Text.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/DragTest URL](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/DragTest%20URL.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/Image drag from one database to other/Image drop](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/Image%20drag%20from%20one%20database%20to%20other/Image%20drop.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/Text drag from one database to other/Text drag](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/Text%20drag%20from%20one%20database%20to%20other/Text%20drag.shtml#5ScriptAnchor_)
- [Drag and Drop/for Mac/Text drag from one database to other/Text drop](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Drag%20and%20Drop/for%20Mac/Text%20drag%20from%20one%20database%20to%20other/Text%20drop.shtml#5ScriptAnchor_)
- [Mac and iOS/PDFKit/PDF Merge Shrink Tool](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Mac%20and%20iOS/PDFKit/PDF%20Merge%20Shrink%20Tool.shtml#5ScriptAnchor_)

### Blog Entries

- [MBS FileMaker Plugin, version 11.1pr8](https://www.mbsplugins.de/archive/2021-03-04/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 10.6pr1](https://www.mbsplugins.de/archive/2020-12-02/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 10.3pr3](https://www.mbsplugins.de/archive/2020-06-12/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 9.6pr2](https://www.mbsplugins.de/archive/2019-12-10/MBS_FileMaker_Plugin_version_9/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 9.2pr1](https://www.mbsplugins.de/archive/2019-04-02/MBS_FileMaker_Plugin_version_9/monkeybreadsoftware_blog_filemaker)
- [Adding Drag and Drop receiver to a layout](https://www.mbsplugins.de/archive/2018-10-08/Adding_Drag_and_Drop_receiver_/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 8.3pr2](https://www.mbsplugins.de/archive/2018-06-18/MBS_FileMaker_Plugin_version_8/monkeybreadsoftware_blog_filemaker)
- [MBS Filemaker Plugin, version 4.3pr2](https://www.mbsplugins.de/archive/2014-07-15/MBS_Filemaker_Plugin_version_4/monkeybreadsoftware_blog_filemaker)
- [Accept file drops in Filemaker with MBS Plugin](https://www.mbsplugins.de/archive/2012-08-20/Accept_file_drops_in_Filemaker/monkeybreadsoftware_blog_filemaker)

### FileMaker Magazin

- [Ausgabe 2/2020, Seite 36](https://filemaker-magazin.de/neuigkeit/4089-Appetithappen-FMM_202002)

This function checks for a license.

Created 18th August 2014 , last changed 19th April 2021

  
[DragDrop.ClearDragExitHandler](DragDropClearDragExitHandler.md) - [DragDrop.CreateWithSize](DragDropCreateWithSize.md)

[HTML Version](DragDropCreateWithControl.shtml)