WM_INITDIALOG 消息是对话框才能收到的消息,表明对话框及其所有子控件都创建完毕了。这个状态肯定是 调用显示对话框的函数之前。
1函数原型
来源于MSDN:Windows CE 3.0版本
WM_INITDIALOG hwndFocus = (HWND) wParam;
lInitParam = lParam;
2参数
hwndFocus
接收默认键盘焦点的控件的句柄。系统分配默认键盘焦点,只有当对话框过程,则返回 TRUE。
lInitParam
指定额外的初始化数据。此数据是作为对用于创建对话框的 CreateDialogIndirectParam、 CreateDialogParam、 DialogBoxIndirectParam 或 DialogBoxParam 函数的调用中的 lParamInit 参数传递到系统。属性表中,此参数是用于创建页的 PROPSHEETPAGE 结构的指针。如果使用任何其他对话框创建函数,则此参数将为零。
3附:与WM_CREATE的对比
WM_INITDIALOG与WM_CREATE的区别: WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕.在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口了,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。 而WM_INITDIALOG消息响应函数是在程序运行时,当其对话框和子控件全部创建完毕,将要显示内容的时候发送的消息。因此可以在WM_INITDIALOG消息响应函数中添加对编辑框控件的初始化和修改。
来源:百度百科