MFC VC判断鼠标左键点击在哪个控件并响应相关的处理

本文详细介绍了在MFC中如何使用PreTranslateMessage函数及OnLButtonDown方法为对话框控件设置鼠标左键点击响应。通过具体代码示例,展示了如何判断鼠标点击位置是否在指定控件范围内,并触发相应的消息提示。

1、PreTranslateMessage函数里面

if(pMsg->message == WM_LBUTTONDOWN && pMsg->hwnd == GetDlgItem(IDC_STATIC_1)->GetSafeHwnd())
{

//添加响应相关的处理

}

2、在OnLButtonDown里面判断鼠标的位置是否在控件里面(这种方法没试过,不过网上也有说可以用,就拿过来一起归类整里一下)


 

void CDialogXX::OnLButtonDown(UINT nFlags, CPoint point)

{

     Crect rcStatic;
     GetDlgItem(IDC_STATIC)->GetWindowRect(&rcStatic);
     ScreenToClient(&rcStatic);

//判断鼠标的位置是否在控件里面
     if(point.x >rcStatic.left && point.x <rcStatic.right &&
        point.y >rcStatic.top  && point.y <rcStatic.bottom)
     {
         afxMessageBox("Click Static True!")
     }

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小的程序员_one

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值