
1重载PreTranslateMessage函数
2实现如下代码
BOOL
CMouseDlg::PreTranslateMessage(MSG
pMsg)
{
//
TODO:
Add
your
specialized
code
here
and/or
call
the
base
class
if(pMsg->hwnd
==
GetDlgItem(IDC_BUTTON1)->GetSafeHwnd()
&&
pMsg->message
==
WM_MOUSEMOVE)
{
CString
windowText;
GetDlgItem(IDC_BUTTON1)->GetWindowText(windowText);
//得到按钮文本
GetDlgItem(IDC_STATIC1)->SetWindowText(windowText);
//显示到静态文本框
}else
if(pMsg->hwnd
==
GetDlgItem(IDC_BUTTON2)->GetSafeHwnd()
&&
pMsg->message
==
WM_MOUSEMOVE)
{
CString
windowText;
GetDlgItem(IDC_BUTTON2)->GetWindowText(windowText);
GetDlgItem(IDC_STATIC1)->SetWindowText(windowText);
}
return
CDialog::PreTranslateMessage(pMsg);
}
使用GetCursorPos()函数
假设是用pciture控件显示。
那么可以先改变控件的ID,然后定义一个CSTATIC 类型的变量如m_ctrlPic。
CPoint point;
GetCursorPos( &point );
然后得到picture控件rect。
CRect rect;
::GetClientRect(m_ctrlPicGetSafeHwnd(), &rect);
然后把当前鼠标坐标转为相对于rect的坐标。
::ScreenToClient(m_ctrlPicGetSafeHwnd(), &point);
然后判断该点坐标是否在rect内,在就显示
if(rectPtInRect(point))
{
CString strPos;
strPosFormat("%d:%d", pointx, pointy);
AfxMessageBox(strPos);
}
}
以上就是关于MFC中静态文本框获取鼠标移动到按钮上的消息全部的内容,包括:MFC中静态文本框获取鼠标移动到按钮上的消息、MFC中,关于得到鼠标在对话框上的坐标值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)