From Xojo Documentation

Revision as of 16:33, 24 July 2019 by Gperlman (talk | contribs)
You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site!

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.

Var d As New MessageDialog. // declare the MessageDialog object
Var 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