MFC传递消息的四个步骤

昨天因为一个SendMessage的错误,调试了近一天时间,现把SendMessage的详细用法总结如下:

函数声明:

LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAMwParam,LPARAM IParam)

参数的含义:

hWnd:其窗口程序将接收消息的窗口的句柄。

Msg:指定被发送的消息。

wParam:指定附加的消息特定信息。

IParam:指定附加的消息特定信息。

传递消息主要分4步:

1)在类的定义中声明消息函数:afx_msgvoid AAA();

2)在相应的cpp文件中的MESSAGE_MAP区域内添加ON_MESSAGE(MESSAGE_ID,AAA),其中参数1为要传递消息的ID,参数2为刚刚声明的函数名称,不用带括号。

3)实现消息函数:在cpp文件中添加

LRESULT 类名::AAA(WPARAMwparam,LPARAM lparam)

{

     执行内容

     ……

     return 0;

}

4)发送消息:在需要发送消息的地方添加下列语句:

::SendMessage(m_hWnd,MESSAGE_ID,a,b);

其中,m_hWnd为接收消息的父窗口的句柄,调用该窗口的SendMessage函数,MESSAGE_ID为刚刚设定的消息ID,a、b是要传递的参数。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值