社区
界面
帖子详情
请教一个光标问题!
zhongxd
2003-04-16 05:37:56
我的程序中在视图中各种操作对应不同的光标,视图有滚动条,当光标移动到箭头的时候,我希望他变成箭头光标,大家告诉我在什么地方添加
::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
语句比较合适,谢谢!
...全文
87
7
打赏
收藏
请教一个光标问题!
我的程序中在视图中各种操作对应不同的光标,视图有滚动条,当光标移动到箭头的时候,我希望他变成箭头光标,大家告诉我在什么地方添加 ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW)); 语句比较合适,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhongxd
2003-04-17
打赏
举报
回复
to zhdleo(叮东)
只有鼠标点下之后才会进入滚动处理函数的,我将鼠标移动到滚动条上的时候光标不会改变的。
我现在用了一个赖皮的方法处理这个问题的,我在视图的OnMouseMove()函数中判断鼠标是否移动出了RECT rc={0,0,m_wScreen-2,m_hScreen-2},(m_wScreen 视图得宽度, m_hScreen视图的高度)一移出这个范围马上换光标。这样做在鼠标移动比较缓慢的时候解决了问题,移动比较快的时候问题还在,所以不行,得找别的方法
难道一定要自己弄一个滚动条,然后才能处理好光标问题么?
zhdleo
2003-04-17
打赏
举报
回复
在你处理滚动的函数的一开始调用你自己定义的函数OnSetCursor
在那个函数里再去响应::SetCursor!
zhongxd
2003-04-17
打赏
举报
回复
哪个地方有大量的光标资源呀?谢谢!
feiniaoliang
2003-04-17
打赏
举报
回复
原来是这样!看来第一感觉往往都不对呀!!!呵呵~~
再帮你想想!!!!!
zhongxd
2003-04-17
打赏
举报
回复
我可能没有讲清楚,我是希望鼠标移动到视图滚动条上的时候鼠标变成箭头。
在视图中,鼠标移动到滚动条上的时候,不会进入视图OnMouseMove()函数的
也不会进入视图的OnSetCursor函数
也不会进入CMainFrame 的OnSetCursor()函数和OnMouseMove()函数
可能是被滚动条强行的把消息截走了,而那个滚动条是系统的滚动条,不是我自己生成的!
zhdleo
2003-04-16
打赏
举报
回复
分开出来,不论有多少种光标都先定义并在初始化中取得。
ex:
//define
HCURSOR m_hButtonCursor; //定义成类的一个成员变量
// load button cursor
m_hButtonCursor = AfxGetApp()->LoadCursor(IDC_MYHAND);
//in Dialog::OnInitDialog()
//向上面这句,你要加几个都可以!
//无非是m_hButtonCursor_1 m_hButtonCursor_2 ..........
然后在响应的函数中判断一个是否在其上,或是在其上的是什么。
比如
BOOL CMyDialog::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT msg)
{
CString sClassName;
::GetClassName(pWnd->GetSafeHwnd(),sClassName.GetBuffer(80),80);
if (sClassName=="Button" && m_hButtonCursor) {
::SetCursor(m_hButtonCursor);
//像这样,判断在按钮控件上都设置。
//你也可以具体的取得每个控件的名字来具体区分
//只要保证if 中的判断成立,而且符合你的要求就行
return TRUE;
}
return CDialog::OnSetCursor(pWnd, nHitTest, msg);
}
-------------------------------------------------------
over
feiniaoliang
2003-04-16
打赏
举报
回复
OnMouseMove()中,第一感觉!!!
游戏画面就弹出内存不能为read修复工具
当分配失败时系统函数会返回
一个
0值,这时返回值“0”已不表示新启用的
光标
,而是系统向应用程序发出的
一个
通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现...
EXCEL函数公式集
一个
排序
问题
数字的自动排序,插入后不变? 根据规律的重复的姓名列产生自动序号 排名的函数 自动排名公式 百分比排名的公式写法为: 平均分及总分排名 求名次排名 排名次根据分数进行普通排名 对于普通排名分数相同...
PowerPoint精美幻灯片实战教程
适合PPT初学者,但即便您是
一个
PPT老手,这套课程一样能让您大呼开卷有益! - PowerPoint基础知识、文字排版技巧、文字视觉化、图文排版技巧、表格和图表、ppt排版四项基本原则、ppt常用配图法、ppt常用配色技巧、...
Excel公式大全操作应用实例(史上最全)
一个
排序
问题
数字的自动排序,插入后不变? 根据规律的重复的姓名列产生自动序号 排名的函数 自动排名公式 百分比排名的公式写法为: 平均分及总分排名 求名次排名 排名次根据分数进行普通排名 对于普通排名分数相同...
BT3 破解wep 傻瓜版教程实战讲解
1、 安装好卡王管理程序,点“可用网络”记下你打算破解的AP信号的频道。 或也可以直接进入LINUX系统下自动查看。...还有一种情况,能进入,但鼠标的
光标
一闪一灭的情况下,请选第三项启动可解决。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章