在对话框消息过程中获取应用程序对象指针
我们可以使用 this 作为 CreateWindow 的最后一个参数,并在 WndProc 中获取指向应用程序对象的指针,如下所示:
if(message == WM_CREATE)
{
CREATESTRUCT* cs = (CREATESTRUCT*)lParam;
pApp = (DemoApp*)cs->lpCreateParams;
return 0;
}
在 Dialog Message Proc 中访问此指针的最佳方式是什么?解决方案是制作一个全局指针吗?
We can use this as the last argument to CreateWindow and get a pointer to the app object in the WndProc like this:
if(message == WM_CREATE)
{
CREATESTRUCT* cs = (CREATESTRUCT*)lParam;
pApp = (DemoApp*)cs->lpCreateParams;
return 0;
}
What is the best way to access this pointer in a Dialog Message Proc? Is the solution to make a global pointer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
WM_INITDIALOG
获取其他初始化数据,请参阅WM_INITDIALOG 消息:也就是说,您可以使用
CreateDialogParam
将lParam
作为参数传递,对话框过程将通过WM_INITDIALOG
消息接收它。You get additional initialization data with
WM_INITDIALOG
, see WM_INITDIALOG message :That is, you can pass
lParam
as an argument withCreateDialogParam
and the dialog proc will receive it withWM_INITDIALOG
message.