- Simple dialog boxes
- Advanced dialog boxes
- Customize dialog boxes
- Programming dialog boxes
- Asynchronous dialog
Interacting with the user
The dialog boxes are standard windows that allow you to communicate with the user. They can be used to notify an error, to ask for confirmation, ...
The dialog boxes always contain the same elements:
- An icon used to quickly identify the type of message displayed (information, Question or Error).
- A title displayed in the title bar.
- One or more buttons allowing the user to choose an answer. The number and the type of these buttons depend on the type of dialog box used.
- A text on one or more lines corresponding to the message intended for the user.
There are different dialog boxes:
- Simple dialog boxes
These dialog boxes contain an image, text and one or more OK, Cancel, Yes or No buttons.
- Advanced dialog boxes.
These dialog boxes can display specific text in the buttons or allow user input.
Several types of dialog boxes are available:
- Information or error dialog boxes. For example:
- Question dialog boxes. For example:
- Confirmation dialog boxes. For example:
- The button that will be selected by default can be defined for each type of dialog box.
- The text of the buttons is displayed in the system language.
- Some functions may not be available depending on the platform used.
Dialog boxes can:
- use the system style.
New in version 28 include AAFs (Automatic Application Features). For example, the user will be able to associate a keyboard shortcut with each button, or to set the automatic execution of a button.
Remark: Starting with version 28 U1 (version 280075), this feature is available by default for new projects.
- be fully customized. This allows you to automatically apply the skin template of the current application or to use multilingual dialog boxes.
The following functions are used to handle dialog boxes:
|Confirm||Displays a message in a standard dialog box that proposes "Yes", "No", "Cancel" and returns the user's choice.|
|Dialog||Displays a message box and returns the value of the button clicked by the user.|
|Error||Displays a custom error message in a system error window.|
|Info||Displays a custom message in a system information window.|
|Input||Displays a message allowing the user to type an information.|
|OKCancel||Displays a message in a standard dialog box that proposes "OK" and "Cancel" and returns the user's choice.|
|Warning||Displays a custom message in a system warning window.|
|YesNo||Displays a message in a standard dialog box that proposes "Yes" and "No" and returns the user's choice.|
By default, dialog boxes are modal.
To make dialog boxes modeless, you can:
- automatically close these dialog boxes. By default, dialog boxes are closed only when the user clicks one of their buttons. If no button is pressed, the application is blocked.
To avoid blocking the application, use DelayBeforeClosing and specify the amount of time after which the dialog box is automatically closed.
- use ErrorWithTimeout and InfoWithTimeout to display information or error messages without blocking the application.
- use asynchronous dialog functions.
Asynchronous dialog works as follows:
- Calling the function opens the dialog box that corresponds to that function.
- The code that follows the call continues to run.
- When the user clicks one of the buttons in the dialog box, the "callback" procedure of the function is executed. This procedure allows processing the user's response if necessary.
WINDEV and WINDEV Mobile include several WLanguage functions for handling asynchronous dialog boxes. These functions are identical to the standard functions. Only the word "Asynchronous" has been added to easily identify them:
|ConfirmAsynchronous||Displays a non-blocking message in a standard dialog box with the answers "Yes", "No", "Cancel" and calls a WLanguage procedure with the user's response.|
|DialogAsynchronous||Displays a non-blocking message box and calls a WLanguage procedure with the value of the button clicked by the user.|
|ErrorAsynchronous||Displays a custom error message in a non-blocking system error window.|
|ErrorWithTimeoutAsynchronous||Displays a custom error message in a non-blocking system error window for a given amount of time.|
|InfoAsynchronous||Displays a non-blocking custom message in a system information window.|
|InfoWithTimeoutAsynchronous||Displays a custom message in a non-blocking system information window for a given amount of time.|
|OKCancelAsynchronous||Displays a message in a standard non-blocking dialog box with the answers "OK" and "Cancel" and calls a WLanguage procedure with the user's response.|
|WarningAsynchronous||Displays a custom message in a non-blocking system warning window.|
|YesNoAsynchronous||Displays a message in a standard non-blocking dialog box with the answers "Yes" and "No" and calls a WLanguage procedure with the user's response.|
These functions are required to compile a Catalyst application. They can also be very useful in your Windows applications. They allow for non-blocking dialog with the user. The application can give information to the user or ask a question but the code continues to run, even if the user is not in front of the screen or if they need time to answer: the program keeps running.
This page is also available for…