sendmessage 发送消息的问题 MFC

zcyaa 2008-11-29 04:31:18
同一个dialog上的两个按钮
A(ID号为ID_A),
B(ID号为ID_B).
我想实现:
按A,A的消息处理函数中发送一个消息给B按钮.触发B按钮的ON_COMMAND消息.
A按钮的处理消息为
::SendMessage(GetDlgItem(ID_B)->GetSafeHwnd(),WM_COMMAND,0,0);
为什么实现不了呢?
而利用
SendMessage(WM_COMMAND,ID_B,0);
却可以实现呢?
请各位高手赐教呀.
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcyaa 2008-11-30
  • 打赏
  • 举报
回复
谢谢你了.再问一个问题
GetDlgItem(I_B)->SendMessage(BN_CLICKED);
的话,为什么不成功呢怎么响应不了BN_CLICKED这个消息.谢谢了.
zcyaa 2008-11-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hityct1 的回复:]
窗口不对吧?改成这样:
::SendMessage(GetSafeHwnd(),WM_COMMAND,IDC_BUTTON1,0);
[/Quote]
说得很对
zcyaa 2008-11-30
  • 打赏
  • 举报
回复
上面的几位说得太对了.我已经了解了.
ygmlqliqiang 2008-11-29
  • 打赏
  • 举报
回复
::SendMessage(GetDlgItem(ID_B)->GetSafeHwnd(),WM_COMMAND,0,0);
这句是向B发消息,而B没有对WM_COMMAND消息做处理。


SendMessage(WM_COMMAND,ID_B,0);
这句是向本窗口发送WM_COMMAND消息,ID为ID_B,本窗口对这个消息做了处理
hityct1 2008-11-29
  • 打赏
  • 举报
回复
改成
::SendMessage(GetSafeHwnd(),WM_COMMAND,IDC_BUTTON1,0);
hityct1 2008-11-29
  • 打赏
  • 举报
回复
窗口不对吧?改成这样:
::SendMessage(GetSafeHwnd(),WM_COMMAND,IDC_BUTTON1,0);
xqls_xqls 2008-11-29
  • 打赏
  • 举报
回复
查MSDN

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧