Rollup Modeless Dialog Boxes
/pages/Guides/Desktop/Xdialog/Rollup Modeless Dialog Boxes.xml
The following example shows how to create a modeless dialog that can be rolled up to occupy less screen space. This type of dialog box is frequently used for toolboxes. First define the two variations of the <<%dlg%...%dlg% code for dialog boxes, using the same button names.
Set Border Style of Object(s)
/pages/Guides/Desktop/Design/Platform/Xbasic Action Scripting/Set Border Style of Objects.xml
The Set Border Style of Object(s) action sets the border attributes of one or more objects.
Layout Editors - Modeless Property Editor
/pages/Guides/Desktop/Design/Data/DBF/Layout Editors Modeless Property Editor.xml
You can now edit the properties of the objects on your Layout using a modeless, dockable Property Grid. This makes editing properties much quicker than having to right click on an object and bring up a modal properties dialog. The image below shows a Form in Design Mode with the Properties Dock Panel visible. As soon as you set a value in the Properties Dock Panel, the Layout is immediately updated to reflect the property value. If you don't like the change you just made, select the Undo command from the menu. You will notice that the property names have a + icon to their left. This allows you to define 'Dynamic Properties'. See the section on Dynamic Properties for more information.
Closing Modeless Dialog Boxes Automatically
/pages/Guides/Desktop/Xdialog/Closing Modeless Dialog Boxes Automatically.xml
In some situations, when you open a modeless Xdialog box from a button or command on a form or browse, you will want the Xdialog box to close automatically when its "parent" form or browse is closes, or looses focus.
Set Fill Style of Object(s)
/pages/Guides/Desktop/Design/Platform/Xbasic Action Scripting/Set Fill Style of Objects.xml
The Set Fill Style of Object(s) action sets the fill properties of one or more objects.
Creating an Email Link Navigation Entry
/pages/Guides/Desktop/Design/Email/Creating an Email Link Navigation Entry.xml
A navigation system component may have three types of entries:
Reading Variables in External Modeless Xdialogs
/pages/Guides/Desktop/Xdialog/Reading Variables in External Modeless Xdialogs.xml
This example shows how a variable in another modeless Xdialog can be read using the UI_DLG_EVAL()and UI_DLG_EVAL_VALID() functions. First, display the "test" modeless dialog box with a variable.
Linking Modeless Dialogs
/pages/Guides/Desktop/Xdialog/Linking Modeless Dialogs.xml
The following script demonstrates usage of the {linked=} command which is designed to create external dependencies between separate Xdialogs. Change a shared variable in one dialog, and not only do the variables refresh for the Xdialog with focus, but they also change in the linked Xdialog. The linked command is not directional -- i.e. which Xdialog has the linked command makes no difference -- theonly requirement is that the linked to Xdialog exist before the linked from Xdialog 'is created. This is "Dialog1". Any shared variables that are changed in this dialog are immediately seen by "Dialog2". Similarly, any variables that are changed in "Dialog2" are immediately seen by this dialog.
Modeless Dialog Boxes
/pages/Guides/Desktop/Xdialog/Modeless Dialog Boxes.xml
A modeless Xdialog differs from a modal dialog box in that you can leave the dialog box open while continuing to work on other parts of Alpha Anywhere. Up till now, all of the examples in this book have been for modal dialog boxes. Throughout Alpha Anywhere itself, we use modeless Xdialog boxes extensively. For example, the Query Genie, the Find by Key dialog, and the Index Selector are all modeless dialog boxes. The syntax for modeless dialog boxes is virtually identical to the syntax for modal dialog boxes. The only difference is that the command to display a modeless dialog box is:
Set Links
/pages/Guides/Desktop/Design/Data/Set/Set Links.xml
In building a set, you first select the primary table, and then add a link to each table you want to add. You can establish a link between two tables that have related data (e.g. Product and Vendor, or Invoice and Customer). To establish a link, the databases must have one or more fields that store the same data in each table. In the following example, the VEND_ID field is the linking field between the Product and Vendor tables.