在Dialog中设置焦点失败?

WM_INITDIALOG消息

在显示对话框之前立即发送到对话框过程。对话框过程通常使用此消息来初始化控件并执行任何其他影响对话框外观的初始化任务。

#define WM_INITDIALOG                   0x0110

参量

wParam

控件的句柄以接收默认的键盘焦点。仅当对话框过程返回TRUE时,系统才会分配默认键盘焦点。

帕拉姆

其他初始化数据。在调用用于创建对话框的CreateDialogIndirectParamCreateDialogParamDialogBoxIndirectParamDialogBoxParam函数时,此数据将作为lParam参数传递到系统。对于属性表,此参数是用于创建页面的PROPSHEETPAGE结构的指针。如果使用任何其他对话框创建功能,则此参数为零。

返回值

对话框过程应返回TRUE,以指示系统将键盘焦点设置为wParam指定的控件。否则,应返回FALSE以防止系统设置默认键盘焦点。

对话框过程应直接返回该值。由SetWindowLong函数设置的DWL_MSGRESULT值将被忽略。

备注

接收默认键盘焦点的控件始终是对话框中第一个可见,未被禁用且具有WS_TABSTOP样式的控件。当对话框过程返回TRUE时,系统将检查控件以确保该过程尚未禁用它。如果已禁用,则系统会将键盘焦点设置为可见的下一个控件(未禁用),并具有WS_TABSTOP

只有将键盘焦点设置为对话框的控件之一,应用程序才能返回FALSE

你可能感兴趣的