| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2064 人关注过本帖
标题:控件中的鼠标样子怎么改?
只看楼主 加入收藏
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:17 
控件中的鼠标样子怎么改?
用SetClassLong 改变的鼠标一到控件里面就变回来了,要怎么办才能把控件里面的样子也改过来?
搜索更多相关主题的帖子: 控件鼠标样式 
2009-08-12 10:53
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:20 
光标修改有几个时机:
1、处理WM_MOUSEMOVE。系统默认每次调用OnMouseMove函数 ,都会重新用程序默认自带的光标来重新绘制光标。
2、处理WM_SETCURSOR。系统在设置光标时 ,会发送一个WM_SETCURSOR消息。
3、创建窗口类时。直接修改结构体WNDCLASS的光标属性值。
4、利用SetClassLong在任何位置改变光标。
5、利用SetWindowLong在窗口创建后,修改窗口风格。

第4种最灵活,第3、5种最彻底。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-08-12 11:43
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用东海一鱼在2009-8-12 11:43的发言:光标修改有几个时机:1、处理WM_MOUSEMOVE。系统默认每次调用OnMouseMove函数 ,都会重新用程序默认自带的光标来重新绘制光标。2、处理WM_SETCURSOR。系统在设置光标时 ,会发送一个WM_SETCURSOR消息。3、创建窗口 ...
厉害啊 这些从哪学来的啊 有没有什么专门的书啊~~
2009-08-12 17:44
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
我是用的SetClassLong 设置的我自己的鼠标样式,但是鼠标一移动到文本框里面就变回原来WINDOWS那个鼠标了,你说得5种哪种可以解决我这个问题呢?
2009-08-12 18:55
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用nzxhust在2009-8-12 18:55的发言:我是用的SetClassLong 设置的我自己的鼠标样式,但是鼠标一移动到文本框里面就变回原来WINDOWS那个鼠标了,你说得5种哪种可以解决我这个问题呢?
老大不是说3 5 吗~~
2009-08-12 19:01
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
以下是引用zklhp在2009-8-12 19:01的发言:老大不是说3 5 吗~~
俺可不是什莫‘老大’。俺菜鸟的说,刚接触WIN32汇编才一星期。 上面的知识点都是MSDN上查阅的。
2009-08-12 19:48
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
TO nzxhust:

3就不用说了吧。5其实就是对你说的控件进行‘子类化’,形如:

invoke SetWindowLong,CtrlhWnd,DWL_DLGPROC,addr MyProc

CtrlhWnd 是要‘子类化’的控件句柄
MyProc是你自己打造的窗口处理函数。

这样,相当于你在控件消息循环里面注射了一个‘消息钩子’,你可以在MyProc里面对控件爱咋咋地!

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-08-12 19:56
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用东海一鱼在2009-8-12 19:48的发言: 俺可不是什莫‘老大’。俺菜鸟的说,刚接触WIN32汇编才一星期。 上面的知识点都是MSDN上查阅的。
MSDN 这么强啊 看来没事时该多看看~~~
2009-08-12 20:50
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用东海一鱼在2009-8-12 19:48的发言: 俺可不是什莫‘老大’。俺菜鸟的说,刚接触WIN32汇编才一星期。 上面的知识点都是MSDN上查阅的。
也是小菜 只要是比我水平高的 都是偶老师 都是偶老大~~~
2009-08-12 20:51
nzxhust
Rank: 2
等 级:论坛游民
威 望:1
帖 子:99
专家分:28
注 册:2008-2-14
收藏
得分:0 
以下是引用东海一鱼在2009-8-12 19:56的发言:TO nzxhust:3就不用说了吧。5其实就是对你说的控件进行‘子类化’,形如:invoke SetWindowLong,CtrlhWnd,DWL_DLGPROC,addr MyProcCtrlhWnd 是要‘子类化’的控件句柄MyProc是你自己打造的窗口处理函数 ...
哦我有点懂了去研究下子类化去
2009-08-13 08:15
快速回复:控件中的鼠标样子怎么改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020544 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved