mfc 如何添加光标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc 如何添加光标相关的知识,希望对你有一定的参考价值。
参考技术A 1、添加WM_SETCURSOR消息响应eg:
BOOL CCursorHookDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
// TODO: 在此添加消息处理程序代码和/或调用默认值
return CDialogEx::OnSetCursor(pWnd, nHitTest, message);
2、 创建光标资源IDC_CURSOR1
3、添加cursor
BOOL CCursorHookDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
// TODO: 在此添加消息处理程序代码和/或调用默认值
//HCURSOR myCursor = AfxGetApp()->LoadCursor(IDC_HAND);
HCURSOR myCursor = LoadCursor(AfxGetApp()->m_hInstance ,MAKEINTRESOURCE(IDC_CURSOR1));
::SetCursor(myCursor);
return TRUE;
//return CDialogEx::OnSetCursor(pWnd, nHitTest, message);
本回答被提问者采纳
MFC编程的时候,改变鼠标光标样式
在rect范围内,鼠标变成移动的样式。
在rect四角和边界上,鼠标变成拖动(以改变rect大小)的双箭头模式。
怎么实现,求大神指导
对这步我做到了。现在需要比方说东西双向箭头的时候,如何移动那条边来改变rect大小呢?
追答首先这个MFC没有封装现成的控件,因此只能手动写代码实现
建议你查一下CRectTracker,看看是否符合你的需要,我不太确定
如果不行的话只能是自己写了,总之是比较麻烦的
我觉得自己写的话 主要方法就是重载鼠标点击、拖动和抬起三个函数
Down、move和Up
在Down里获取当前鼠标位置、矩形大小位置等等信息
重点在Move里:不停获取鼠标位置,重新获取当前rect位置大小
up:利用当前的rect位置大小重绘
基本思路应该是这样,但是具体实现楼主得自己琢磨了
以上是关于mfc 如何添加光标的主要内容,如果未能解决你的问题,请参考以下文章