ImageView.CreateWithControl
---------------------------

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

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [ImageView](component_ImageView.md) | [7.4](newinversion74.md) | ✅ Yes | ❌ No | ❌ No | ❌ No | ✅ Yes |

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

**MBS**( **"ImageView.CreateWithControl";** /\* Creates a new image view 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 image view reference number or error.

### Description

Creates a new image view on the given window covering the area of the given control.  
Use [ImageView.Release](ImageViewRelease.md) later to destroy the image view.  
  
If you use a register (tab controls) on the window, be aware that the image view actually is in front of the register (tab controls). So you need to check in the script which register page is current and should show what image view. Or by a trigger you turn the visibility on and off.  
  
Image view reference numbers are starting at 74000 and counting up for each new image view.  
  
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

Create image view with control as placeholder:

 # Query size of image   
Set Variable \[ $Image ; Value: MBS ( "[GMImage.NewFromContainer](GMImageNewFromContainer.md)"; ImageView::ImageContainer ) \]   
Set Variable \[ $w ; Value: MBS ( "[GMImage.GetWidth](GMImageGetWidth.md)"; $Image ) \]   
Set Variable \[ $h ; Value: MBS ( "[GMImage.GetHeight](GMImageGetHeight.md)"; $Image ) \]   
Set Variable \[ $r ; Value: MBS ( "[GMImage.Release](GMImageRelease.md)"; $Image ) \]   
  
  
\# We play half size for retina screen resolution   
Set Variable \[ $h ; Value: Round($h /2;0) \]   
Set Variable \[ $w ; Value: Round($w /2;0) \]   
  
\# We play half size for retina screen resolution   
Set Variable \[ $$ImageView ; Value: MBS ("ImageView.CreateWithControl"; 0; "PlaceHolder") \]   
Set Variable \[ $r ; Value: MBS ("[ImageView.SetImage](ImageViewSetImage.md)"; $$ImageView ; ImageView::ImageContainer ) \]  
### See also

- [GMImage.New](GMImageNew.md)
- [GMImage.Release](GMImageRelease.md)
- [ImageView.CreateWithSize](ImageViewCreateWithSize.md)
- [ImageView.CreateWithWindow](ImageViewCreateWithWindow.md)
- [ImageView.Release](ImageViewRelease.md)
- [ImageView.SetImage](ImageViewSetImage.md)
- [MapView.CreateWithControl](MapViewCreateWithControl.md)
- [Preview.CreateWithControl](PreviewCreateWithControl.md)
- [TextView.CreateWithControl](TextViewCreateWithControl.md)
- [Window.FindByTitle](WindowFindByTitle.md)

### Release notes

- **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).

### Example Databases

- [Mac and iOS/ImageView](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Mac%20and%20iOS/ImageView.shtml#3ScriptAnchor_)

### Blog Entries

- [MBS FileMaker Plugin, version 10.3pr3](https://www.mbsplugins.de/archive/2020-06-12/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 14th September 2017 , last changed 19th April 2021

  
[ImageView.Clear](ImageViewClear.md) - [ImageView.CreateWithSize](ImageViewCreateWithSize.md)

[HTML Version](ImageViewCreateWithControl.shtml)