MFC中静态文本框获取鼠标移动到按钮上的消息

MFC中静态文本框获取鼠标移动到按钮上的消息,第1张

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中,关于得到鼠标在对话框上的坐标值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9689235.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存