mfc的OnInitDialog的返回值

时间:2022-07-08 18:46:07

以前从未注意过初始化函数的返回值,今天看到书中所述,以后可能用得上。

OnInitDialog的返回值告诉windows如何处置输入焦点,如果返回 TRUE,则windows将输入焦点指派给制表键控制次序中的第1个控件。如果要把输入焦点指派给其他控件,如IDC_EDIT,则需要调用控件的SetFocus函数,并且OnInitDialog的返回值为FALSE(禁止系统自己设置输入焦点)。通过将控件ID传递给GetDlgItem,可以获得调用SetFocus所需的CWnd指针,例子如下:

一般默认的是下面的返回值:

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

指定焦点:

GetDlgItem(IDC_EDIT)->SetFocus();

return FALSE;