您的位置:首页 > 其它

消息使用的积累(不定期更新)

2011-05-06 01:01 232 查看
对于WM_USER宏 ,小于这个值的ID被系统使用,大于这个值的ID被用户使用

在头文件定义如

#define WM_MYMSG WM_USER+5

然后就要映射一个函数方法到这个消息,这样才有意义嘛

ON_MESSAGE(MY_MSG , onMyMsgFunc)

这个方法的声明:

afxmsg LRESULT onMyMsgFunc(WParam wParam , LPARAM lParam);

//注意在VC6.0中,可以定义为afx void onMyMsgFun().这样在VC6.0下是可以编译通过的,可是在VS2008中就不可以,一定要定为

//上面那样的格式

然后就是发送消息,有PostMessage与SendMessage,当然还有几个发送的,不过一般多见这2个。

PostMessage直接把消息放入消息队列,而不等待是否被处理就直接返回,而SendMessage要等到返回才进行下面的代码执行

这2个函数的后两个参数是根据消息类型的不同而用的,如WM_SETTEXT,他的第一个参数是为0的,第二个参数指定文本

如:SendMessage(FindWindow(NULL , _TEXT("计算器")) , WM_SETTEXT , 0 ,_TEXT("更改后的名字"));

对于菜单的消息映射也和上面的类似:

ON_COMMAND(菜单的IDC , 映射的函数)

然后在申明消息映射函数:

afxmsg void onFunc();

然后对这个消息映射函数进行定义就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐