Difference between revisions of "MessageDialog.ShowModalWithin"

From Xojo Documentation

m (Sample Code)
Line 37: Line 37:
Case d.CancelButton
Case d.CancelButton
   // user pressed Cancel
   // user pressed Cancel
End select
End Select

Revision as of 14:31, 26 October 2018


MessageDialog.ShowModalWithin(Parent as Window) As MessageDialogButton

New in 2005r1

Supported for all project types and targets.

Displays the MessageDialog window as a sheet window (macOS only) for the passed Window.


On non-Mac platforms, it displays the MessageDialog as a modal dialog (same as ShowModal). Returns a MessageDialogButton, which indicates which button was pressed. To find out which button was pressed, compare it to the button instances in the dialog.

Sample Code

The following example creates and manages a "Save Changes" dialog box without the need to create an instance of the Window class.

Dim d As New MessageDialog. // declare the MessageDialog object
Dim b As MessageDialogButton // for handling the result
d.Icon = MessageDialog.GraphicCaution // display warning icon
d.ActionButton.Caption = "Save"
d.CancelButton.Visible = True // show the Cancel button
d.AlternateActionButton.Visible = True // show the "Don't Save" button
d.AlternateActionButton.Caption = "Don't Save"
d.Message = "Do you want to save changes to this document before closing?"
d.Explanation = "If you don't save, your changes will be lost. "

b = d.ShowModalWithin(Window1) // display the dialog in Window1
Select Case b // determine which button was pressed.
Case d.ActionButton
// user pressed Save
Case d.AlternateActionButton
// user pressed Don't Save
Case d.CancelButton
// user pressed Cancel
End Select