求教怎么用SetClassLong改变鼠标光标

damo_xu 2009-06-28 01:25:32
hCursor = (HCURSOR)SetClassLong(data.hMain, GCL_HCURSOR,
(LONG)LoadCursor(data.hInstance, MAKEINTRESOURCE(IDC_HAND)));

我想在菜单处按个键改变鼠标光标,SetClassLong怎么不起作用?
但是用下面这个没问题
case WM_SETCURSOR :
if (data.bCursor) SetCursor(data.HandCursor);
else SetCursor(data.ArrowCursor);
return 0;

求教怎么用SetClassLong改变鼠标光标。多谢。
...全文
452 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
seu_05104106 2009-08-01
  • 打赏
  • 举报
回复
这贴好弱啊,在书上都写的挺明白的
还有,2楼写错了吧??
NTooL 2009-06-28
  • 打赏
  • 举报
回复
既然问题解决恭喜楼主,有分接吗,哈哈。
damo_xu 2009-06-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 skyxie 的回复:]
不同资源对应的API可能有不同的用法,这个只有使用API的时候仔细看它的说明哈~
比如, MSDN中介绍 LoadCursor 函数参数的地方就明确说了
To use one of the predefined cursors, the application must set the hInstance parameter to NULL and the lpCursorName parameter to one the following values
[/Quote]
原来在LoadCursor里,哈哈,我在SetClassLong里绞了半天!
多谢多谢。明天加分。
诸位兄台只能给些友情分啦,也谢谢啦,吼吼。
tkminigame 2009-06-28
  • 打赏
  • 举报
回复
HCURSOR hc = ::LoadCursorFromFile(L"CUR/wait_cusor.ani");
::SetClassLong(hwnd,GCLP_HCURSOR,(LONG)(LONG_PTR)hc);
skyxie 2009-06-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 damo_xu 的回复:]
引用 1 楼 skyxie 的回复:
使用系统定义的 IDC_HAND 时, hInstance 需要设为NULL



满分!!!昨天我看了看msdn,怎么也找不着关键,原来是这个!
如果老兄再给出msdn的引文,解释解释为什么设为NULL(我的意思是load系统其他资源也设为NULL?),再加100分。

多谢多谢。
[/Quote]

不同资源对应的API可能有不同的用法,这个只有使用API的时候仔细看它的说明哈~

比如, MSDN中介绍 LoadCursor 函数参数的地方就明确说了
To use one of the predefined cursors, the application must set the hInstance parameter to NULL and the lpCursorName parameter to one the following values
ServPweitQku 2009-06-28
  • 打赏
  • 举报
回复
SetClassLong修改的是MFC AppWizard向导生成的框架程序的外观。
damo_xu 2009-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 skyxie 的回复:]
使用系统定义的 IDC_HAND 时, hInstance 需要设为NULL
[/Quote]

满分!!!昨天我看了看msdn,怎么也找不着关键,原来是这个!
如果老兄再给出msdn的引文,解释解释为什么设为NULL(我的意思是load系统其他资源也设为NULL?),再加100分。

多谢多谢。
na_he 2009-06-28
  • 打赏
  • 举报
回复
记得以前要在注册窗口时设置为NULL,然后再设制。
SetClassLong(hWnd,GCL_HCURSOR,NULL);
skyxie 2009-06-28
  • 打赏
  • 举报
回复
就是那样用, 请确认LoadCursor成功了~


使用系统定义的 IDC_HAND 时, hInstance 需要设为NULL

(LONG)LoadCursor(NULL, MAKEINTRESOURCE(IDC_HAND))

15,979

社区成员

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

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