静态文本框设立为超链接无法改变鼠标手势
静态文本框设置为超链接无法改变鼠标手势
插入如下代码,用于捕获光标在窗体位置,当光标到达静态文本框区域,应该变成设置的手势(光标资源文件为 IDC_HAND),但是在编译后发现,光标到达静态文本框区域后消失。
------解决方案--------------------
if (point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom )
{
hCursor=AfxGetApp()->LoadIconA(IDC_HAND);
SetCursor(hCursor);
}
根本没进来?
------解决方案--------------------
放PreTranslateMessage中。
msg==WM_MOUSEMOVE
------解决方案--------------------
一般是重写CStatic类,自己添加处理WM_MOUSEMOVE/WM_MOUSEHOVER/WM_MOUSELEAVE等消息
------解决方案--------------------
改成::SetCursor()试试,这个是全局的。
------解决方案--------------------
重写个CStatic不行嘛?
------解决方案--------------------
GetDlgItem(IDC_PICTURE2)->GetWindowRect(&rect2);
if (rect2.PtInRect(ptCursor))
{
CWinApp *pApp=AfxGetApp();
HICON hIconBang=pApp->LoadCursor(IDC_CURSOR_HAND);
SetCursor(hIconBang);
return TRUE;
插入如下代码,用于捕获光标在窗体位置,当光标到达静态文本框区域,应该变成设置的手势(光标资源文件为 IDC_HAND),但是在编译后发现,光标到达静态文本框区域后消失。
void CSoftAPDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom )
{
hCursor=AfxGetApp()->LoadIconA(IDC_HAND);
SetCursor(hCursor);
}
CDialogEx::OnMouseMove(nFlags, point);
}
------解决方案--------------------
if (point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom )
{
hCursor=AfxGetApp()->LoadIconA(IDC_HAND);
SetCursor(hCursor);
}
根本没进来?
------解决方案--------------------
放PreTranslateMessage中。
msg==WM_MOUSEMOVE
------解决方案--------------------
一般是重写CStatic类,自己添加处理WM_MOUSEMOVE/WM_MOUSEHOVER/WM_MOUSELEAVE等消息
------解决方案--------------------
改成::SetCursor()试试,这个是全局的。
------解决方案--------------------
重写个CStatic不行嘛?
------解决方案--------------------
GetDlgItem(IDC_PICTURE2)->GetWindowRect(&rect2);
if (rect2.PtInRect(ptCursor))
{
CWinApp *pApp=AfxGetApp();
HICON hIconBang=pApp->LoadCursor(IDC_CURSOR_HAND);
SetCursor(hIconBang);
return TRUE;