在显示对话框之前,将WM_INITDIALOG消息发送到对话框过程。对话框过程通常使用此消息来初始化控件并执行影响对话框外观的任何其他初始化任务。
WM_INITDIALOG
hwndFocus = (HWND) wParam; //处理控件以接收焦点
lInitParam = lParam; //初始化参数
参数
【Identifies the control to receive the default keyboard focus.】
价值【wParam中】.标识接收默认键盘焦点的控件。仅当对话框过程返回TRUE时,Windows才会分配默认键盘焦点。
【lInitParam】
价值【lParam的】.指定其他初始化数据。在用于创建对话框的CreateDialogIndirectParam,CreateDialogParam,DialogBoxIndirectParam或DialogBoxParam函数的调用中,此数据作为【lParamInit】参数传递给Windows。如果使用任何其他对话框创建功能,此参数为零。
返回值
对话框过程应返回TRUE,以使Windows将键盘焦点设置为【Identifies the control to receive the default keyboard focus.】给出的控件。否则,它应该返回FALSE以防止Windows设置默认的键盘焦点。
备注
接收默认键盘焦点的控件始终是对话框中的第一个可见的,不被禁用的控件,并且具有WS_TABSTOP样式。当对话框过程返回TRUE时,Windows检查控件以确保该过程没有禁用它。如果已被禁用,Windows将键盘焦点设置为可见的,未禁用的,并具有WS_TABSTOP的下一个控件。
如果将键盘焦点设置为对话框的其中一个控件,应用程序才能返回FALSE。
也可以看看
CreateDialogIndirectParam, CreateDialogParam, DialogBoxIndirectParam, DialogBoxParam, SetFocus