Difference between revisions of "MessageDialog"
From Xojo Documentation
m (1 revision) |
|||
(41 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{SupportedPlatforms | type=d}} | ||
+ | {{ClassBox | ||
+ | | super=[[Object]] | ||
+ | | platform=all | ||
+ | | scope=global | ||
+ | }} | ||
+ | {{Description | ||
+ | |text = Used to design and display customized message dialog boxes.}} | ||
+ | <dynamicTable id="Properties" class="propertyTable" title="Properties" columns="3"> | ||
+ | {{Property | name=ActionButton | type=MessageDialogButton | platform=all | description=( MessageDialogButton) The button that performs the default action. }} | ||
+ | {{Property | name=AlternateActionButton | type=MessageDialogButton | platform=all | description=( MessageDialogButton) The optional button that performs an alternate action. }} | ||
+ | {{Property | name=CancelButton | type=MessageDialogButton | platform=all | description=( MessageDialogButton) The optional "cancel" button. }} | ||
+ | {{Property | name=Explanation | type=String | platform=all | description=( String) The text of a secondary message. }} | ||
+ | {{Property | name=IconType | description=( IconTypes)  Indicates the type of icon to be displayed in the dialog box. }} | ||
+ | {{Property | name=Message | type=String | platform=all | description=( String) The text of the message to be displayed. }} | ||
+ | {{Property | name=Title | type=String | platform=all | description=( String) Text to be displayed in the Title bar (Windows and Linux only). }} | ||
+ | </dynamicTable> | ||
− | == | + | <dynamicTable id="Methods" class="methodTable" title="Methods" columns="3"> |
− | + | {{Method | name=ShowModal | returntype=[[MessageDialogButton]] | description=ShowModal() as MessageDialogButton
Displays the MessageDialog window. }} | |
+ | {{Method | name=ShowModalWithin | params=Parent as [[Window]] | returntype=[[MessageDialogButton]] | newinversion=2005r1 | description=ShowModalWithin(Parent as Window) as MessageDialogButton
Displays the MessageDialog window as a sheet window (macOS only) for the passed Window }} | ||
+ | </dynamicTable> | ||
+ | <dynamicTable id="Shared Methods" class="methodTable" title="Shared Methods" columns="3"> | ||
+ | {{Method | name=Show | description=Show(message As String)
Displays the MessageDialog window with the passed message.}} | ||
+ | </dynamicTable> | ||
+ | <dynamicTable id="Enumerations" class="methodTable" title="Enumerations" columns="3"> | ||
+ | {{Enum | name=IconTypes | description=The types of icons that can be displayed (None, Caution, Note, Question, Stop).}} | ||
+ | </dynamicTable> | ||
− | == | + | ==Notes== |
− | + | A '''MessageDialog''' dialog can have up to three buttons, an icon, and main and subordinate text. On Windows and Linux, it can also have text in its title bar. By default, only the ActionButton's Visible property is [[True]]. To use any other buttons, you must set their Visible properties to [[True]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | A '''MessageDialog''' dialog can have up to three buttons, an icon, and main and subordinate text. On Windows and Linux, it can also have text in its title bar. By default, only the ActionButton's Visible property is [[ | ||
− | |||
+ | {{Warning| You should avoid using MessageDialog for displaying debugging messages. The displaying of the dialog will alter event order and may give unexpected results. Instead use the [[UserGuide:Debugger_Usage|Debugger]], [[System.DebugLog]] or your own logging mechanism.}} | ||
===Icons=== | ===Icons=== | ||
− | The four icons supported by MessageDialog are not the same on all platforms. In particular, | + | The four icons supported by MessageDialog are not the same on all platforms. In particular, macOS shows the generic application icon for the values of 0, 2, and 3. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===Handling the Button Click=== | |
− | | | + | After the user has clicked a button in the '''MessageDialog''', the ShowModal method returns the [[MessageDialogButton]] that was pressed. You need to check this against the three types of [[MessageDialogButton|MessageDialogButtons]] belonging to the '''MessageDialog''' to determine which button the user clicked. See the example. |
+ | ==Sample Code== | ||
+ | The following code creates and manages a Save Changes dialog box without the need to create an instance of the [[Window]] class. | ||
+ | <rbcode> | ||
+ | Var d As New MessageDialog // declare the MessageDialog object | ||
+ | Var b As MessageDialogButton // for handling the result | ||
+ | d.IconType = MessageDialog.IconTypes.Caution // 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.ShowModal // display the dialog |
− | + | 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 | ||
+ | </rbcode> | ||
+ | ==See Also== | ||
+ | [[MessageDialogButton]], [[Window]] classes. | ||
− | [[Category: | + | [[Category:Desktop]] |
− |
Latest revision as of 01:56, 30 January 2021
![]() |
Supported Platforms Project Types: Desktop Platforms: macOS, Windows, Linux |
Used to design and display customized message dialog boxes.
Properties | |||||||
|
Methods | ||
|
Shared Methods | |
|
Enumerations | |
|
Notes
A MessageDialog dialog can have up to three buttons, an icon, and main and subordinate text. On Windows and Linux, it can also have text in its title bar. By default, only the ActionButton's Visible property is True. To use any other buttons, you must set their Visible properties to True.
You should avoid using MessageDialog for displaying debugging messages. The displaying of the dialog will alter event order and may give unexpected results. Instead use the Debugger, System.DebugLog or your own logging mechanism. |
Icons
The four icons supported by MessageDialog are not the same on all platforms. In particular, macOS shows the generic application icon for the values of 0, 2, and 3.
Handling the Button Click
After the user has clicked a button in the MessageDialog, the ShowModal method returns the MessageDialogButton that was pressed. You need to check this against the three types of MessageDialogButtons belonging to the MessageDialog to determine which button the user clicked. See the example.
Sample Code
The following code creates and manages a Save Changes dialog box without the need to create an instance of the Window class.
Var b As MessageDialogButton // for handling the result
d.IconType = MessageDialog.IconTypes.Caution // 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.ShowModal // display the dialog
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
See Also
MessageDialogButton, Window classes.