OnSetCursor函数中,为什么光标没有改变符号?

microchu 2005-09-18 11:27:02
程序想实现在鼠标移动到对话框边缘(这是一个none border对话框)时改变鼠标的形状,但不知道为什么,光标没有发生变化.
BOOL CScrollTextDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CPoint pt;
::GetCursorPos(&pt);
if (nHitTest == HTBORDER)
{
CString tmp;
tmp.Format("%d:%d", pt.x,pt.y);
m_lbContent.SetWindowText(tmp);
SetCursor(AfxGetApp()->LoadStandardCursor(IDC_UPARROW));
}

return CDialog::OnSetCursor(pWnd, nHitTest, message);
}
...全文
589 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyelf 2005-09-19
  • 打赏
  • 举报
回复
if (nHitTest == HTBORDER)
{
CString tmp;
tmp.Format("%d:%d", pt.x,pt.y);
m_lbContent.SetWindowText(tmp);
SetCursor(AfxGetApp()->LoadStandardCursor(IDC_UPARROW));
return TRUE; // add this
}
bager 2005-09-19
  • 打赏
  • 举报
回复
应当修改ONSETCURSOR里原有的return语句

BOOL CCDlgSetCursorDemoDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
CPoint pt;
::GetCursorPos(&pt);
if (nHitTest == HTBORDER)
{
CString tmp;
tmp.Format("%d:%d", pt.x,pt.y);
m_lbContent.SetWindowText(tmp);
SetCursor(AfxGetApp()->LoadStandardCursor(IDC_UPARROW));
}
else
{
SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
}
return TRUE;
//return CDialog::OnSetCursor(pWnd, nHitTest, message);
}
huwei001982 2005-09-19
  • 打赏
  • 举报
回复
设置新的光标后要立即 return TRUE;

否则系统就会调用默认的函数
zhaolaoxin 2005-09-18
  • 打赏
  • 举报
回复
对于none border对话框是否不会激活这个函数

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧