Message Dialog

Message Dialog Sample

Creating the Dialog

Create a Message Dialog by calling dialog.messageDialog with the three required and two optional arguments shown in the following table.

Argument
Data type/notes
self
the window (background) that is the parent for the dialog
message
quoted string displayed as the message in the dialog
title
quoted string displayed in title bar of dialog
OPTIONAL icon
You may optionally include one of the defined wxPython constants defining an icon to be displayed in the message dialog. By default, PythonCard displays the "info" icon shown in the figure above. See below for details.
OPTIONAL buttons
You may optionally include one of the defined exPython constants defining one or more button names to be displayed in the Message dialog. By default, PythonCard displays the "OK" and "Cancel" buttons shown in the figure above. See below for details.

Note that as of PythonCard 0.8 the fourth and fifth args have been combined, so you should use | (binary or) to join them (e.g. wx.ICON_EXCLAMATION | wx.OK).

Example:

Above dialog was created with this line of code:

result = dialog.messageDialog(self, 'a message', 'a title')

To add an icon other than the default "info" icon to the Message Dialog, provide the fourth argument, which can be any of the values shown in the following table:

Constant
Description of Icon
wx.ICON_EXCLAMATION
Exclamation point
wx.ICON_HAND
Hand, or error, icon
wx.ICON_ERROR
Same as ICON_HAND
wx.ICON_QUESTION
Question mark
wx.ICON_INFORMATION
Small "i" icon, the default icon

Note that there are user interface guidelines for the appropriate use of these icons. It is generally a good idea to use them in the standard ways users expect to encounter them.

You can also cause the Message Dialog to display buttons labeled other than "OK" and "Cancel" by providing one of the constants in the following table as the optional fifth argument to the dialog.messageDialog method:

Constant
Button Labels
wx.OK
OK Button
wx.CANCEL
Cancel Button
wx.YES_NO
Two buttons, one labeled "Yes" and the other labeled "No"
wx.YES_DEFAULT
If you supply BUTTON_YES_NO as the button constant, you can optionally include this constant to cause the "Yes" button to be the default button. Since "Yes" is always the default button unless you change it, this constant is probably not of much use.
wx.NO_DEFAULT
If you supply wx.YES_NO as the button constant, you can optionally include this constant to cause the "No" button to be the default button.

Interacting With the Dialog

The messageDialog component returns two values, stored as elements of the Python dictionary called "results" returned by all PythonCard dialogs. These results are as shown in the following table.

Name of value
Description
accepted
True = user clicked OK
False = user clicked Cancel
returnedString
string containing 'Ok' or 'Cancel' reflecting which button the user clicked to dismiss the Message dialog

Example:

The sample dialog shown at the top of this page returns the following results:

accepted: True
returnedString: Ok