From Xojo Documentation

Property (As Boolean )
aMessageDialogButton.Cancel = newBooleanValue
BooleanValue = aMessageDialogButton.Cancel

Supported for all project types and targets.

Set to True to indicate that the button will respond to the Esc key and, on Macintosh, pressing the Command-period sequence.


Only one button can be the Cancel button. Some operating systems do not allow one button to be both the Cancel and Default buttons.


This example shows how to set a button to be the default Cancel button. By default, the CancelButton is the default Cancel button, so this property is often not needed.

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.AlternateActionButton.Cancel = True // sets AlternateAction button to cancel
d.Title = "This is the Title (Windows & Linux)"
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 the window
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