正在尝试从消息c++mfc返回值
Trying to return value from Message c++ mfc
我正在使用c++mfc并在我的dlg:中声明消息
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
wParam=5;
lParam=6;
return 0;
}
使用代码:
WPARAM w=0;
LPARAM l=0;
SendMessage(hwnd,messageId,w,l);
cout<<w<<l<<endl;
打印:
0
0
如何更改w/l参数的值?
函数不能更改通过值传递的参数。
但是,您可以将指针传递到LPARAM中所需的任何数据结构,并在消息处理程序中修改该数据结构。
以下是如何使用它:
int myValueToBeUpdated = 0;
SendMessage(hwnd, messageId, 0, (LPARAM)&myValueToBeUpdated);
cout << myValueToBeUpdated << endl;
以及消息处理程序:
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
int* p = (int*)lParam;
*p = 42;
return 0;
}
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
*((WPARAM*)wParam)=5;
*((LPARAM*)lParam)=6;
return 0;
}
WPARAM w=0;
LPARAM l=0;
SendMessage(hwnd,messageId,(WPARAM)&w,(LPARAM)&l);
cout<<w<<l<<endl;
相关文章:
- MFC 中的窗口消息管理:添加基类调用是否是强制性的?
- 重构MFC消息映射以包括完全限定的成员函数指针
- VS2017 MFC 无法将消息输出到控制台
- MFC 消息映射中的函数地址
- MFC编辑控制消息处理访问文档对象
- 发送消息WM_SETTEXT不适用于 MFC 应用程序的另一个应用程序
- MFC单选按钮组消息处理程序
- 注册以在 MFC 中发出 Win32 事件信号时接收 Windows 消息
- 发送和将消息从一个类发送到另一堂课的问题.MFC程序
- 有没有办法在 MFC 中在运行时禁用消息映射处理程序
- 如何将值传递给MFC消息映射函数on_command
- 为什么在MFC中接收错误的消息而不是计时器消息
- 为什么我的MFC应用程序在打开/运行时也不显示消息就被卸载了
- 在 MFC 对话框和自己的线程上的 OpenGL 控件之间传递消息
- 如何使用消息访问 MFC 控件
- MFC:在派生的 CEdit 中未收到EN_CHANGE消息
- 接收MFC对话框的PostMessage消息
- 正在尝试从消息c++mfc返回值
- 具有多重继承的消息映射MFC:如何避免警告C4407和运行时崩溃
- 消息映射MFC:继承多个消息映射