用位图设置光标的形状

时间:2021-03-24 17:10:06
我的工程是单文档类型的,运行的时候我也同时创建了一个父类为框架类的子窗口。当我单击子窗口上的一个按钮时,要求鼠标移到视图类的时候鼠标的形状是一个位图图标,这个位图是已经加载到资源里了的。当在视类里右键鼠标的时候恢复。请问怎么弄?

6 个解决方案

#1


LoadCursor

#2


引用 1 楼 heksn 的回复:
LoadCursor

用过了,也不知道怎么不行。。

#3


SetCursor(LoadCursor(NULL, IDC_WAIT));

#4


引用 3 楼 shen_wei 的回复:
SetCursor(LoadCursor(NULL, IDC_WAIT));

没有效果。。

#5


PreTranslateMessage在这个消息里获取右键消息
if (pMsg->message == WM_RBUTTONDOWN)
{
//OnLButtonDown(MK_LBUTTON, pMsg->pt);
CWnd* pCtrl = CWnd::GetFocus(); 
int iCtrlID = pCtrl->GetDlgCtrlID(); 
可以获取控件焦点或者GetCursorPos获取控件位置。之后怎么变鼠标就怎么还原咯。。。
理论上可以先记录下原鼠标形状,再在这步读取原鼠标形状还原鼠标

#6


引用 2 楼 fthislife 的回复:
引用 1 楼 heksn 的回复:

LoadCursor

用过了,也不知道怎么不行。。

WM_SETCURSOR消息响应函数中SetCursor();设置你的Cursor样式

#1


LoadCursor

#2


引用 1 楼 heksn 的回复:
LoadCursor

用过了,也不知道怎么不行。。

#3


SetCursor(LoadCursor(NULL, IDC_WAIT));

#4


引用 3 楼 shen_wei 的回复:
SetCursor(LoadCursor(NULL, IDC_WAIT));

没有效果。。

#5


PreTranslateMessage在这个消息里获取右键消息
if (pMsg->message == WM_RBUTTONDOWN)
{
//OnLButtonDown(MK_LBUTTON, pMsg->pt);
CWnd* pCtrl = CWnd::GetFocus(); 
int iCtrlID = pCtrl->GetDlgCtrlID(); 
可以获取控件焦点或者GetCursorPos获取控件位置。之后怎么变鼠标就怎么还原咯。。。
理论上可以先记录下原鼠标形状,再在这步读取原鼠标形状还原鼠标

#6


引用 2 楼 fthislife 的回复:
引用 1 楼 heksn 的回复:

LoadCursor

用过了,也不知道怎么不行。。

WM_SETCURSOR消息响应函数中SetCursor();设置你的Cursor样式