MSG

761021166 2004-04-07 03:31:12
MSG message;
while(::PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
if (message.message == WM_KEYDOWN)
{
if(message.wParam == VK_ESCAPE)
{
OnPause();
}
}
else
::TranslateMessage(&message);
::DispatchMessage(&message);
这是一个键盘消息,如果我要响应一个Toolbar 上的一个按钮,那么其message.message== ?
message.wParam== ?
请指示,多谢!
...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
761021166 2004-04-08
  • 打赏
  • 举报
回复
我没用过子类化。
_foo 2004-04-07
  • 打赏
  • 举报
回复
子类化很麻烦吗?
你只需提供一个窗口函数及调用setwindowlong而已。
761021166 2004-04-07
  • 打赏
  • 举报
回复
有没有更方便的方法?
_foo 2004-04-07
  • 打赏
  • 举报
回复
你为什么不在他的窗口函数里处理??

或者你可以子类化该窗口
SetWindowLong()
761021166 2004-04-07
  • 打赏
  • 举报
回复
那怎么办?
_foo 2004-04-07
  • 打赏
  • 举报
回复
Toolbar在你点击按钮后,是直接用sendmessage()发送wm_command给你的窗口函数。
所以你用消息循环是截获不到的。
zhaolaoxin 2004-04-07
  • 打赏
  • 举报
回复
message.message==WM_MOUSELBUTTONDOWN
message.wParam==IDD_xxx(按钮的ID)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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