在对话框消息过程中获取应用对象指针
Getting app object pointer in Dialog Message Proc
我们可以使用this作为CreateWindow的最后一个参数,并像这样在WndProc中获得一个指向应用程序对象的指针:
if(message == WM_CREATE)
{
CREATESTRUCT* cs = (CREATESTRUCT*)lParam;
pApp = (DemoApp*)cs->lpCreateParams;
return 0;
}
在对话消息过程中访问这个指针的最佳方法是什么?是解决方案,使一个全局指针?
您可以使用WM_INITDIALOG
获得额外的初始化数据,参见WM_INITDIALOG消息:
lParam
附加初始化数据。这些数据被传递给系统作为调用
使用其他对话框创建功能时,参数为零。CreateDialogIndirectParam
时的lParam参数,CreateDialogParam
,DialogBoxIndirectParam
,DialogBoxParam
功能用于创建对话框。对于属性表,此参数为指向用于创建页面的PROPSHEETPAGE
结构体的指针。这
也就是说,您可以将lParam
作为CreateDialogParam
的参数传递,对话进程将通过WM_INITDIALOG
消息接收它。
相关文章:
- 应用投影矩阵后对象消失
- 将FFMpeg AVFrame对象从C++应用程序流式传输到Python的最佳方法?
- C++控制台应用,其中有两个冲突的对象不工作
- ReactiveX (rx) - 在对象上应用可观察对象,而不是在可观察对象中创建对象
- 通过 COM 对象连接 x64 应用程序时出现问题
- 修改多线程应用程序中的对象
- 将文件从 iOS 应用程序加载到 C++ 对象中/<iostream>iOS 上的问题
- 将数组/对象/结构列表从C#库中传递给C MFC应用程序
- 如何在 Win32 应用中拖动纯色矩形,而不会产生白色闪烁,也不会干扰其他屏幕对象
- 当删除上下文属性中的QLIST对象时,QT QML应用程序崩溃
- 仅将方法应用于类的一个对象
- "std::swap"应用于这些对象时会做什么?
- C++/CLI:返回对 C#.NET 应用中非托管对象的引用
- 如何正确地将规则 5(或零?)应用于包含带有字符串的自定义对象向量的类
- 如何使用多态性将相同的操作应用于具有相同基类的不同对象的unordered_sets
- 共享对象与提升program_options静态链接;应用程序链接共享
- 从最基本的Qt应用程序重新链接对象 - 链接器错误
- QT应用程序声明新对象后崩溃
- 将对象写入文件时应用程序崩溃
- 在对话框消息过程中获取应用对象指针