【发布时间】:2010-08-24 05:48:11
【问题描述】:
好的,我在循环中设置了一个光标,它可以工作,但是当我移动光标时,它只是变回原来的样子。我用的是win32 api,我用过
SetCursor(LoadCursor(hInstance, MAKEINTRESOURCE(IDC_PROTECTED)));
任何想法
【问题讨论】:
标签: c++ visual-c++ winapi cursor
好的,我在循环中设置了一个光标,它可以工作,但是当我移动光标时,它只是变回原来的样子。我用的是win32 api,我用过
SetCursor(LoadCursor(hInstance, MAKEINTRESOURCE(IDC_PROTECTED)));
任何想法
【问题讨论】:
标签: c++ visual-c++ winapi cursor
IIRC,您想致电 SetCursor 以响应 WM_SETCURSOR。如果没有记忆,如果窗口类的游标成员设置为 NULL,游标也将保持您设置的状态。
【讨论】:
SetCursor响应WM_SETCURSOR?在后一种情况下,您还需要从消息处理程序返回TRUE。我刚刚快速检查了对WM_SETCURSOR 的回复,效果非常好。
是的。 DefWindowProc() 正在更改它。
如果您想在窗口上使用不同的光标,请使用 SetClassLong(),或者在调用 RegisterClass 时更改 WNDCLASS 的 hCursor 字段(如果您自己调用它的人)
【讨论】:
SetClassLongPtr(GCLP_HCURSOR) 兼容 64 位,但这是一个细节)
也许你可以在 WM_MOUSEMOVE 中尝试 setcursor。
【讨论】: