我们可以使用 this 作为CreateWindow的最后一个参数,并在WndProc中获取指向app对象的指针,如下所示:
if(message == WM_CREATE)
{
CREATESTRUCT* cs = (CREATESTRUCT*)lParam;
pApp = (DemoApp*)cs->lpCreateParams;
return 0;
}
在Dialog Message Proc中访问此指针的最佳方法是什么?解决方案是制作全局指针吗?
答案 0 :(得分:2)
您可以使用WM_INITDIALOG
获得其他初始化数据,请参阅WM_INITDIALOG message :
lParam的
其他初始化数据。该数据被传递给系统 作为
CreateDialogIndirectParam
调用中的lParam参数,CreateDialogParam
,DialogBoxIndirectParam
或DialogBoxParam
功能 用于创建对话框。对于属性表,此参数为 指向用于创建页面的PROPSHEETPAGE
结构的指针。这个 如果使用任何其他对话框创建函数,则参数为零。
也就是说,您可以将lParam
作为参数传递给CreateDialogParam
,对话框proc将通过WM_INITDIALOG
消息接收它。