CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请问一个关于鼠标指针的问题!

楼主sock5(|一生何求|)2004-09-04 16:39:22 在 VC/MFC / 基础类 提问

请问如何设置鼠标的光标用于全局?  
   
  离开本对话框也不变,类似于SPY++那样的!  
  问题点数:100、回复次数:6Top

1 楼huwei001982(凶猛的小狗)回复于 2004-09-04 16:51:28 得分 50

在   LButtonDown   中先执行  
  SetCapture();  
  再设置   鼠标光标  
   
  别忘了在   LButtonUp中  
  ReleaseCapture();Top

2 楼sock5(|一生何求|)回复于 2004-09-04 17:04:35 得分 0

还是不行呀,这个光标无法移出对话框呀!移出后就变成系统默认的了  
   
  我是这么设置的  
  BOOL   CClientUpdate3Dlg::PreTranslateMessage(MSG*   pMsg)    
  {  
  //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
   
  if(pMsg->message==WM_KEYDOWN)  
  if(pMsg->wParam==VK_F12)  
  {  
  MessageBox("F12");  
   
  //::SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));  
  SetCapture();  
  SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));  
   
  }  
   
  return   CDialog::PreTranslateMessage(pMsg);  
  }  
  Top

3 楼huwei001982(凶猛的小狗)回复于 2004-09-04 17:25:04 得分 47

就你上面的代码看,   你的想法就是错的  
   
  SPY++的十字光标,   也只限于一直按住鼠标左键再可以(就像我上面的代码一样),   松开就不行了  
   
  只要你的鼠标离开你的窗体,   鼠标光标就不属于你管了,虽然用   SetCapture可以强制将鼠标消  
  息发送到你的窗体,   但也只能在   LButtonDown中设置才可以(也就是鼠标按键必须一直按着),   具体原因我也不知道  
   
  请看   MSDN  
  The   cursor   is   a   shared   resource.   A   window   should   set   the   cursor   shape   only   when   the   cursor   is   in   its   client   area   or   when   the   window   is   capturing   mouse   input.   In   systems   without   a   mouse,   the   window   should   restore   the   previous   cursor   before   the   cursor   leaves   the   client   area   or   before   it   relinquishes   control   to   another   window  
   
  光标是一个共享资源,   窗体只能在鼠标处于窗体的客户区时,   才可以设置它,   只要鼠标离开窗体的客户区,   WINDOW将恢复以前的光标  
  Top

4 楼zihan(子寒)回复于 2004-09-04 17:38:02 得分 1

同意,安装楼上第一次的办法就可以做到了。Top

5 楼crystal521(【云淡风轻】)回复于 2004-09-04 20:30:49 得分 1

upTop

6 楼flyelf(空谷清音)回复于 2004-09-04 21:58:28 得分 1

在WM_LBUTTONDOWN中  
  获取wm_mousemove消息,设置光标Top

相关问题

  • 鼠标指针的问题?
  • 如何改变鼠标指针?
  • 如何捕获鼠标指针
  • 如何改变鼠标指针
  • 如何更改鼠标指针!?
  • 如何更改鼠标指针!
  • 〓〓〓〓〓☆鼠标指针的简单问题☆〓〓〓〓〓
  • 如何改变鼠标指针
  • 如何改变鼠标指针
  • ODBC连接时的鼠标指针

关键词

  • 鼠标
  • 光标
  • pmsg
  • setcapture
  • 设置
  • cursor

得分解答快速导航

  • 帖主:sock5
  • huwei001982
  • huwei001982
  • zihan
  • crystal521
  • flyelf

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo