共有以下几种办法:
//----------------------------------------------------------------------------------------------------------------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);
}
CRect rect;
GetDlgItem(图像控件ID)->GetClientRect(rect);
GetDlgItem(图像控件ID)->ClientToScreen(rect);
CPoint point;
GetCursorPos(&point); //通过系统API获得当前鼠标位置
if(rect.PtInRect(point) ) //鼠标是否在控件范围之内
{
/,,,,,,,,,,,,,,,,
}