MFC 判断鼠标是否在控件范围内

共有以下几种办法:
   //----------------------------------------------------------------------------------------------------------------1---------------------------//
void C********::OnMouseMove(UINT nFlags, CPoint point) 
{
WINDOWPLACEMENT wp;   
RECT rect;   
GetDlgItem(IDC_SLIDER)-> GetWindowPlacement(&wp);  //client坐标系  
rect=wp.rcNormalPosition;   
if(point.x> rect.left && point.x < rect.right   
&& point.y> rect.top && point.y <rect.bottom)   
{  
       MessageBox(_T("yeah"));  
}
}  
   //----------------------------------------------------------------------------------------------------------------------2---------------------//
//另,仍可以用另一种方法  
void C********::OnMouseMove(UINT nFlags, CPoint point) 
{
CRect rect  
GetDlgItem( 图像控件ID)-> GetwindowRect(&rect);  //screen坐标系  
ScreenToClient(&rect);   
if(point.x> rect.left&&point.x <rect.right&&point.y <rect.bottom&&point.y> rect.top)   
{   
    //...  
}   
}
//------------------------------------------------------------------------------------------------------------------------3-------------------//
void C********::OnMouseMove(UINT nFlags, CPoint point) 
{
ClientToScreen(&point);
CRect rect;
GetDlgItem(图像控件ID)->GetClientRect(rect);
GetDlgItem(图像控件ID)->ClientToScreen(rect);
if(rect.PtInRect(point) ) //鼠标是否在控件范围之内
{

}
CDialog::OnMouseMove(nFlags, point);
}
  //------------------------------------------------------------------------------------------------------------------------4-------------------//
CRect rect;
	GetDlgItem(图像控件ID)->GetClientRect(rect);
GetDlgItem(图像控件ID)->ClientToScreen(rect);
	CPoint point;
	GetCursorPos(&point);  //通过系统API获得当前鼠标位置
	if(rect.PtInRect(point) )   //鼠标是否在控件范围之内
	{
		/,,,,,,,,,,,,,,,,
	}
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值