ID Number: Q67655
3.00
WINDOWS
Summary:
The default push button in a dialog box is defined to be the button
that is pressed when the user presses the ENTER key, provided that the
input focus is not on another button in the dialog box. This button is
visually distinguished from other buttons by a thick dark border. This
article describes how to change the default push button.
More Information:
To change the default push button, perform the following three steps:
1. Send the BM_SETSTYLE message to the current default push button to
change its border to that of a regular push button.
2. Send a DM_SETDEFID to the dialog box to change the ID of the
default push button.
3. Send the BM_SETSTYLE message to the new default push button to
change its border to that of a default push button.
The following is sample code that performs the three steps:
// Reset the current default push button to a regular button.
SendDlgItemMessage(hDlg, <ID of current default push button>,
BM_SETSTYLE, BS_PUSHBUTTON, (LONG)TRUE);
// Update the default push button's control ID.
SendMessage(hDlg, DM_SETDEFID, <ID of new default push button>,
0L);
// Set the new style.
SendDlgItemMessage(hDlg, <ID of new default push button>,
BM_SETSTYLE, BS_DEFPUSHBUTTON, (LONG)TRUE);
Note, however, that ANY push button that has the input focus will have
a dark border. A default push button will retain this dark border even
when the input focus is transferred to another control in the dialog
box, provided the new control is not another push button.
For example, if the input focus is on an edit control, check box,
radio button, or any control other than a push button, and the ENTER
key is pressed, Windows sends a WM_COMMAND message to the dialog box
procedure with the wParam set to the control ID of the default push
button.
Additional reference words: 3.00 MICS3 R5.7