MFC 工作者线程传送消息

方法如下(测试版):

    1,生成一个 dialog based 的 exe 工程。

    2,添加一个对话框资源 IDD_WORKDLG,并 ctrl+w 出来一个关联的类,在类中添加一个自定义的消息响应函数。

    resource.h 中:#define msg_test wm_user+15

    接着添加 afx_msg 和 ON_MESSAGE 那一套消息映射。

   void OnTest(WPARAM wParam,LPARAM lParam)

{

afxmessageBox("消息收到");

}

   3,在主对话框中 OnInitDlg() 中 AfxBeginThread( ThreadProc,NULL);

   CWorkDlg *pDlg;

UINT ThreadProc(LPVOID lParam)

{

pDlg=new CWorkDlg;

pDlg->Create(IDD_WORKDLG,NULL);

MSG msg

while(getmessage(&msg,NULL,0,0))

{

   translatemessage(&msg);

dispatchmessage(&msg);

}

return 0;

}

4,测试,比如在主对话框中添加一个按钮事件

void OnButton()

{

::postmessage(pDlg->GetSageWnd(),wm_test,0,0);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值