When to Use a Dialog Box
Most applications use dialog boxes to prompt for additional information for
commands that require user input. Using a dialog box is the only recommended way
for an application to retrieve the input. For example, the File Open command
requires the name of a file to open, so an application should use a dialog box to
prompt the user for the name. In such cases, the application creates the
dialog box when the user chooses the command and destroys the dialog box immediately
after the user supplies the information.
Many applications also use dialog boxes to display information or options
while the user works in another window. For example, word processing applications
often use a dialog box with a text-search command. While the application
searches for the text, the dialog box remains on the screen. The user can then return
to the dialog box and search for the same word again; or the user can change
the entry in the dialog box and search for a new word. Applications that use
dialog boxes in this way typically create one when the user chooses a command and
continue to display it for as long as the application runs or until the user
explicitly closes the dialog box.
To support the different ways applications use dialog boxes, Windows provides
two types of dialog box: modal and modeless. A
modal dialog box requires the user to supply information or cancel the dialog box before
allowing the application to continue. Applications use modal dialog boxes in
conjunction with commands that require additional information before they can proceed.
A
modeless dialog box allows the user to supply information and return to the previous task without
closing the dialog box. Modal dialog boxes are simpler to manage than modeless
dialog boxes because they are created, perform their task, and are destroyed
by calling a single function.
To create either a modal or modeless dialog box, an application must supply a
dialog box template to describe the dialog box style and content; the
application must also supply a dialog box procedure to carry out tasks. The
dialog box template is a binary description of the dialog box and the controls it contains. The
developer can create this template as a resource to be loaded from the
application's executable file, or created in memory while the application runs. The
dialog box procedure is an application-defined callback function that Windows calls when it has
input for the dialog box or tasks for the dialog box to carry out. Although a
dialog box procedure is similar to a window procedure, it does not have the same
responsibilities.
An application typically creates a dialog box by using either the
DialogBox or
CreateDialog function.
DialogBox creates a modal dialog box;
CreateDialog creates a modeless dialog box. These two functions load a dialog box template
from the application's executable file and create a pop-up window that matches
the template's specifications. There are other functions that create a dialog
box by using templates in memory; they pass additional information to the
dialog box procedure as the dialog box is created.
Dialog boxes usually belong to a predefined, exclusive window class. Windows
uses this window class and its corresponding window procedure for both modal and
modeless dialog boxes. When the function is called, it creates the window for
the dialog box, as well as the windows for the controls in the dialog box, then
sends selected messages to the dialog box procedure. While the dialog box is
visible, the predefined window procedure manages all messages, processing some
messages and passing others to the dialog box procedure so that the procedure
can carry out tasks. Applications do not have direct access to the predefined
window class or window procedure, but they can use the dialog box template and
dialog box procedure to modify the style and behavior of a dialog box.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database