关于改变鼠标样式的问题

a35181706 2011-06-03 01:49:57
...........................
case WM_RBUTTONDOWN:
SetCursor(hcusor);
break;
........................
当鼠标右键点下的时候,设置鼠标样式。
但是出现了问题:
只有在右键点下的时候,鼠标样式才会变,其他情况都不会变,这是为什么??
设置鼠标样式后不是不会变的么?
求教~求教~
...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
I_code 2011-06-15
  • 打赏
  • 举报
回复
因为LZ你的消息处理函数是写在WM_RBUTTONDOWN里面的,建议写在WM_LBUTTONUP WM_RBUTONUP里.这样点几击鼠标左右键都可以改变样式.

SetCursor

函数功能:该函数确定光标的形状。
函数原型:HCURSOR SetCursor(HCURSOR hCursor);
参数:
hCursor:光标的句柄,该光标由CreateCursor函数载入。如果该参数为NULL,则该光标从屏幕上移开。在Windows95中该光标的宽和高是GetSysfemMefirics 函数的返回值SM_CXCURSOR和观_CYCURSOR,并且光标的位深必须和显示器的位深相匹配,或者光标是单色的。
返回值:如果有前一个光标,则返回值是前光标的句柄;如果没有前光标,则返回值是NUL。
备注:仅当新光标与前光标不同时,才设置该光标,不然的话,该函数立即返回。该光标是一个共享资源。一个窗口仅当光标在其客户区域,或者它正在捕捉鼠标输入时,它才设置光标的形状。在一个没有鼠标的系统中,该窗口在光标离开它的客户区域或它要把控制权交给其他窗口之前,它会恢复以前的光标。
如果应用程序必须在窗口中设置光标,必须确保指定窗口类的类光标被设为NULL,如果类光标不是NULL,则每次移动鼠标时,系统都要恢复类光标。
如果内部的光标显不计数值小于零,则光标不在屏幕上显示。当一个应用程序使用ShowCursor函数隐藏光标的次数多于显示光标的次数时,则会发生这种情况。
Windows CE:当一个目标平台不支持鼠标光标时,使用cursor光标组件,该光标组件仅支持等待光标,设置等待光标,使用如下的代码:SetCursor(LoadCursor(NULL,IDC_WAIT));当一个目标平台不支持鼠标光标时,使用mcursor光标组件。该组件不支持彩色光标。
速查:Window NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

SGYheDJF 2011-06-08
  • 打赏
  • 举报
回复
学习 学习
a35181706 2011-06-03
  • 打赏
  • 举报
回复
我要的功能是按下鼠标右键,换一个鼠标样式。。
这样应该怎么做
nakedavril 2011-06-03
  • 打赏
  • 举报
回复
处理WM_SetCursor
www_adintr_com 2011-06-03
  • 打赏
  • 举报
回复
要自己记录鼠标状态, 然后处理 WM_SETCURSOR 消息根据不同的状态返回不同的光标
就想叫yoko 2011-06-03
  • 打赏
  • 举报
回复
WM_RBUTTONDOWN
WM_LBUTTONDOWN

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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