MFC上的按钮,如何响应ButtonDown和ButtonUp的消息?

xggllc 2013-03-20 11:31:54


我用VS2010,MFC添加了按钮,能添加的事件只有单击的事件?但是怎么响应ButtonDown和ButtonUp的消息呢?

例如: 按钮按下时 我要调用函数做一件事情,按钮抬起时我要做另外一件事情。

小弟新手,虚心求教,先行谢过~!

...全文
1321 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
iRubiker 2015-05-07
  • 打赏
  • 举报
回复
试试下面的方法, 捕获系统消息里处理,鼠标弹起down 和 up时会产生WM_CAPTURECHANGED消息
switch(message)
	{
	case WM_LBUTTONDOWN:
		{ 
			//AfxMessageBox(_T("鼠标按下"));
                           ***your code****
		}
		break;
	case WM_LBUTTONDBLCLK:
		{ 
			//AfxMessageBox(_T("鼠标双击"));
                         ***your code****
		}
		break;

	case WM_LBUTTONUP:
		{ 
			//AfxMessageBox(_T("鼠标弹起"));
			  ***your code****
		}
		break;
	case WM_CAPTURECHANGED:
		{ 
			//AfxMessageBox(_T("它失去捕获的鼠标"));
                         ***your code****
		}
		break;
	case WM_MOVING:
		{ 
			//AfxMessageBox(_T("鼠标移动"));
                            ***your code****
		}
		break;
	}
Grubby_wivi 2014-05-25
  • 打赏
  • 举报
回复
那么对按钮的 函数怎么编写呢? 新手~~~谢啦!!
ppazyl1104 2013-08-19
  • 打赏
  • 举报
回复
不错哦,知道了
yuezhu165 2013-05-16
  • 打赏
  • 举报
回复
我也想知道,第一次点完按钮后父类窗口总是响应左键按下消息,怎么解决
xpyang1989 2013-03-22
  • 打赏
  • 举报
回复
楼主怎么解决的?我现在也碰到这个问题,求赐教
shn521 2013-03-20
  • 打赏
  • 举报
回复
来晚了
xggllc 2013-03-20
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
在父窗口的PretranslateMessage中拦截WM_LBUTTONDOWN和WM_LBUTTONUP进行处理: C/C++ code?12345678910111213141516171819BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_LBUTTONDOWN)……
引用 2 楼 cheng7068 的回复:
LS正解,你可以看一下消息传递这部分的内容
引用 3 楼 mailyxf 的回复:
1l正解 ·
谢谢,谢谢各位,已解决,特别感谢1L
钢筋裤衩蛋 2013-03-20
  • 打赏
  • 举报
回复
1l正解 ·
风行踩火轮 2013-03-20
  • 打赏
  • 举报
回复
LS正解,你可以看一下消息传递这部分的内容
图灵狗 2013-03-20
  • 打赏
  • 举报
回复
在父窗口的PretranslateMessage中拦截WM_LBUTTONDOWN和WM_LBUTTONUP进行处理:

BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) 
{
	if(pMsg->message == WM_LBUTTONDOWN)
	{
		if(pMsg->hwnd == GetDlgItem(IDC_BUTTON1)->m_hWnd)
		{
                    // 按钮按下
                }
	}
	else if(pMsg->message == WM_LBUTTONUP)
	{
		if(pMsg->hwnd == GetDlgItem(IDC_BUTTON1)->m_hWnd)
		{
                    // 按钮弹起
                }
	}

	return CDialog::PreTranslateMessage(pMsg);
} 

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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