setcursor 与 showcursor

Windows为鼠标光标保存了一个「显示计数」。
如果安装了鼠标,显示计数会被初始化为0;否则,显示计数会被初始化为-1。

只有在显示计数非负时才显示鼠标光标。要增加显示计数,呼叫:ShowCursor (TRUE) ;

要减少显示计数,呼叫:ShowCursor (FALSE) ;

所以如果想修改光标,应该:

ShowCursor (FALSE) ;//隐藏原来的光标
SetCursor(hcursor);//设置新的光标
ShowCursor (TRUE) ;//显示新的光标

如果产生了鼠标消息,系统可能会用窗口的hcursor重新刷新光标,
所以用SetClassLong(hwnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_CROSS));才能一直保持
原文地址:https://www.cnblogs.com/lisuyun/p/3269472.html