INF: Specifying Time to Display and Remove a Dialog Box

ID Number: Q74888

3.00

WINDOWS

Summary:

It is possible to modify the timing of the display of a dialog box.

For example, an application has its copyright message in a dialog box

that does not have any push buttons. This dialog is designed to be

displayed for five seconds and then to disappear. This article

discusses a method to implement this functionality.

More Information:

Windows draws the dialog box on the screen during the processing of a

WM_PAINT message. Because all other messages (except for WM_TIMER

messages) are processed before WM_PAINT messages, there may be some

delay before the dialog box is painted. This may be avoided by placing

the following code in the processing of the WM_INITDIALOG message:

ShowWindow(hDlg);

UpdateWindow(hDlg);

This code causes Windows to send a WM_PAINT message to the dialog box,

bypassing the other messages that may be in the application's queue.

To keep the dialog box on the screen for a particular period of time,

a timer should be created during the processing of the WM_INITDIALOG

message. When the WM_TIMER message is received, call EndDialog() to

close the dialog box.