如何获得mfc中消息的wParam,lParam? 在Win API编程中,是作为消息函数的参数传递的,在mfc中,消息参数被封装起来了,如何得到?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对于系统消息,msdn中对于wParam和lParam都有详细的介绍 BOOL Cdlg2Dlg::PreTranslateMessage(MSG* pMsg){ // TODO: Add your specialized code here and/or call the base class return CDialog::PreTranslateMessage(pMsg);}查msdn的MSG结构,直接有这两个变量 比如我有一个消息处理函数OnDeal(),这个函数里如何得到wparam,lparam参数呢? 但是对于一个普通的函数,我怎么得到pMsg呢? 先在PreTranslateMessage里处理一下,然后return CDialog::PreTranslateMessage(pMsg);你不会每个消息都需要截获消息吧? 在PreTranslateMessage里面进行判断,如果是你要拦截的消息,则对你定义的那个函数处理.否则不进行处理. 声明消息ID#define MY_MSG WM_USER+1000;定义消息函数void ExecuteMyMsg(WPARAM wParam,LPARAM lParam);定义消息映射ON_MESSAGE(MY_MSG, ExecuteMyMsg)一个结构,用于传递typedef struct tagMyStruct{ ......}_tagMyStruct;实现消息函数void YourClass::ExecuteMyMsg(WPARAM wParam,LPARAM lParam){ MyStruct *myStruct = (MyStruct*)wParam; your other operation!!!!!}其它函数中使用消息。PostMessage or SendMessageMyStruct myStruct ={0};然后初始化结构。SendMessage(HWND, MY_MSG, (wParam)&myStruct,0 ); 谁知道xml解析器安装完毕//安装在什么地方了? MFC 控件问题 求MSI安装包制作工具,支持相对路径的 MFC程序在CRT和液晶显示的差异 关于PageCount的用法 vc向导自动生成的mfc多文档程序,各个文件的预处理顺序有谁知道, 50分 一个看似简单的问题,大侠快过来帮我看看 debug不能往下调试的问题 请教微软专家,关于NT Service,DCOM,STA的问题 有关读写端口 对打开的记录集进行增加操作,运行报错,为什么呢? 图片放大缩小问题
{
// TODO: Add your specialized code here and/or call the base class return CDialog::PreTranslateMessage(pMsg);
}查msdn的MSG结构,直接有这两个变量
你不会每个消息都需要截获消息吧?
#define MY_MSG WM_USER+1000;
定义消息函数
void ExecuteMyMsg(WPARAM wParam,LPARAM lParam);定义消息映射
ON_MESSAGE(MY_MSG, ExecuteMyMsg)一个结构,用于传递
typedef struct tagMyStruct
{
......
}_tagMyStruct;
实现消息函数
void YourClass::ExecuteMyMsg(WPARAM wParam,LPARAM lParam)
{
MyStruct *myStruct = (MyStruct*)wParam;
your other operation!!!!!
}
其它函数中使用消息。
PostMessage or SendMessage
MyStruct myStruct ={0};
然后初始化结构。
SendMessage(HWND, MY_MSG, (wParam)&myStruct,0 );