WM_LBUTTON的问题,急急急!!

songxinSQL 2009-06-02 10:15:25
我的对话框中有多个按钮,我现在要做的是:当我点击其中一个按钮按下时触发一个消息,当按钮弹起时触发另一个消息。点击的按钮不同触发想消息不同。我应该如何做那?
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
na_he 2009-06-02
  • 打赏
  • 举报
回复
上面的方法都可以的。
fleer 2009-06-02
  • 打赏
  • 举报
回复
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_LBUTTONUP) //如果是鼠标弹起
{
if(pMsg->hwnd == *GetDlgItem(IDC_Button1))//如果是在IDC_Button1这个按钮上弹起的
{


}
}

return CMyDlg::PreTranslateMessage(pMsg);
}
Eleven 2009-06-02
  • 打赏
  • 举报
回复
响应事件的时候可以根据当前点击按钮的ID或者文本来触发不同的处理函数
Eleven 2009-06-02
  • 打赏
  • 举报
回复
WM_LBUTTONDWON,WM_LBUTTONUP
lonelyhacker 2009-06-02
  • 打赏
  • 举报
回复

BOOL CMy11Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_LBUTTONDOWN) //左键按下的时候
MessageBox("aa");
if(pMsg->message==WM_KEYDOWN) //键盘有按下的时候
MessageBox("b");
return CDialog::PreTranslateMessage(pMsg);
}

songxinSQL 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 VisualEleven 的回复:]
WM_LBUTTONDWON,WM_LBUTTONUP
[/Quote]
这个虽然能解决我的问题,但是在程序运行的时候有时会出错,我设断点跟进去,问题
出现在下面这句代码上:
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
这是个什么问题啊???
songxinSQL 2009-06-02
  • 打赏
  • 举报
回复
你的虽然能解决问题,但是在调试的时候有的时候会遇到下面的这个问题:
设置断点错误显示问题出现在:
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
这里,是为什么啊??

15,979

社区成员

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

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