OnSetCursor 及改变鼠标形状

 

该消息在鼠标发生任何事件时都能响应(单击,双击,移动,且该函数的调用在对于鼠标响应函数之前)。

如果处理了该函数,一定要返回return TRUE,不要让父类再处理

该函数专门由于设置光标的形状,是对WM_SETCURSOR消息的响应.

afx_msg BOOL CWnd::OnSetCursor(CWnd* pWnd,UINT nHitTest,UINT message);

参数一:当前鼠标位于哪个窗口(控件)上,可以通过pWnd->GetDlgCtrID()来判断设置鼠标形状

参数二:表示当前鼠标位于实现该函数的窗口的哪个位置(HTBORDER HTCLIENT等等,参考OnNcHitTest函数)

参数三:表示鼠标消息的值(WM_LBUTTONDOWN  WM——LBUTTONUP诸如此类)

 

使用方法:

 使用ClassWizard为视图或者对话框添加WM_SETCURSOR消息的响应函数OnSetCursor();在函数中,使用SetCursor函数,然后要返回真,屏蔽掉系统的设置函数。

 

用途:一般用于改变鼠标的形状。当改变鼠标的形状后一定要返回TURE。

hCursor=LoadCursor(NULL,IDC_WAIT);

SetCursor(hCursor);

return TRUE;

 

 

IDC_APPSTARTING 标准的箭头和小沙漏

IDC_ARROW 标准的箭头

IDC_CROSS 十字光标

IDC_HELP 标准的箭头和问号

IDC_IBEAM 工字光标

IDC_NO 禁止圈

IDC_SIZEALL 四向箭头指向东、西、南、北

IDC_SIZENESW 双箭头指向东北和西南

IDC_SIZENS 双箭头指向南北

IDC_SIZENWSE 双箭头指向西北和东南

IDC_SIZEWE 双箭头指向东西

IDC_UPARROW 垂直箭头

IDC_WAIT 沙漏

 

什么时候系统会发送设置光标消息:WM_SETCURSOR。

只要鼠标事件发生就会自动发送 WM_SETCURSOR从而触发OnSetCursor

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值