怎样让按钮响应右键点击事件?

boomshine 2005-05-22 02:06:00
我想让按钮响应右键点击,问题是
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
这个宏只响应左键点击,我如果想让一个按钮
即响应左键又响应右键点击该怎么做呢?
...全文
445 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry 2005-05-22
  • 打赏
  • 举报
回复
子类化按钮控件,响应WM_RBUTTONDOWN 消息
kugou123 2005-05-22
  • 打赏
  • 举报
回复
在PreTranslateMessage()中截获鼠标右键单击消息。
amziwei 2005-05-22
  • 打赏
  • 举报
回复
下面所说基于对话框:
在对话框里加一个按钮 IDC_B1
在CXXXDlg.h 里重载 PreTranslateMessage(MSG*pMsg) (即声明:BOOL PreTranslateMessage(MSG* pMsg);) // XXX 你的工程名

接着在CXXXDlg.cpp 里加上如下实现:
BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_RBUTTONUP)// 可改为任意其它消息
{
CRect r;
::GetWindowRect(GetDlgItem(IDC_B1)->m_hWnd,&r);// 得到按钮控件的 rect
if(r.PtInRect(pMsg->pt)) // 检测鼠标动作是否在按钮内
AfxMessageBox("左键按了一下");
}
return CDialog::PreTranslateMessage(pMsg);
}

15,979

社区成员

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

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