Date: 2008jan21
Platform: win32, MFC
Q. How do I set the default button in a dialog when using MFC?
A. Usually its the "OK" button.
This function does the trick:
int CMyDialogClass::SetDefaultButton(const DWORD nNewId)
{
DWORD nPrevId;
nPrevId = GetDefID();
// Its not automatic - we have to remove the border from the old button
SendDlgItemMessage(nPrevId, BM_SETSTYLE, BS_PUSHBUTTON, (LPARAM)TRUE);
SetDefID(nNewId);
// Likewise, add a border to the new one
SendDlgItemMessage(nNewId, BM_SETSTYLE, BS_DEFPUSHBUTTON, (LPARAM)TRUE);
return nPrevId;
}
Add a comment
Sign in to add a comment