CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

怎样改变光标符号

楼主boomshine(boomshine)2005-09-16 12:34:17 在 VC/MFC / 基础类 提问

比如我想点击一个按钮后,光标变成沙漏形状  
  我的代码如下:  
   
  ::SetCursor(AfxGetApp()->LoadCursor(IDC_WAIT));  
   
  但是当我点击按钮后,光标没有任何改变。这段代码该  
  怎么修改。 问题点数:20、回复次数:8Top

1 楼boomshine(boomshine)回复于 2005-09-16 12:35:48 得分 0

::SetCursor(LoadCursor(NULL,"cursor1.cur"));  
  这个函数也试过,一样的没改变。Top

2 楼weiym(磨刀霍霍向猪羊)回复于 2005-09-16 12:45:19 得分 0

CWaitCursor   wc;Top

3 楼windha()回复于 2005-09-16 13:14:37 得分 0

把   LoadCursor   改为   LoadStandardCursor   试试Top

4 楼sdcer(独钓雪)回复于 2005-09-16 13:19:14 得分 20

HCURSOR   hHourCursor;  
  hHourCursor=LoadCursor(NULL,IDC_WAIT);  
   
  SetCapture(hWnd);//hWnd是要光标处于等待状态的窗口。  
  hSaveCursor=SetCursor(hHourCursor);  
   
   
                    //上面是使光标处于等待状态的代码,如果要使鼠标状态还原,记得不要忘记使用ReleaseCapture()  
  Top

5 楼nkwesley(江南丝竹)回复于 2005-09-16 13:23:05 得分 0

::SetCursor(::LoadCursor(NULL,   IDC_HAND));  
  肯定没问题的Top

6 楼redjuly(凤凰木)回复于 2005-09-16 13:36:35 得分 0

设置光标完需要有耗时的操作光标才会位置你设置的状态,  
  否则应该就恢复默认的了。  
   
  void   CBbbDlg::OnButton3()    
  {  
  // SetCursor(AfxGetApp()->LoadCursor(NULL,IDC_WAIT));  
  // int   n=   10000000000000;  
  // while(   n>0)  
  // n--;  
   
   
  HANDLE   hCursor   =   ::LoadImage(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME),IMAGE_ICON,0,   0,   LR_DEFAULTSIZE);  
   
  if(NULL   ==   hCursor)  
  {  
  LPVOID   lpMsgBuf;  
  ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER   |FORMAT_MESSAGE_FROM_SYSTEM   |FORMAT_MESSAGE_IGNORE_INSERTS, NULL,  
  GetLastError(),  
  MAKELANGID(LANG_NEUTRAL,   SUBLANG_DEFAULT),   //   Default   language  
  (LPTSTR)   &lpMsgBuf,  
  0,  
  NULL  
  );  
  ::MessageBox(   NULL,   (LPCTSTR)lpMsgBuf,   "Error",   MB_OK   |   MB_ICONINFORMATION   );  
   
  LocalFree(   lpMsgBuf   );  
  }  
  else  
  {  
  int   n=   10000000000000;  
  while(   n>0)  
  n--;  
  ::SetCursor((HCURSOR)hCursor);  
   
  }  
   
  }  
   
   
  Top

7 楼ussthamcn()回复于 2005-09-16 15:19:28 得分 0

楼上说的对有耗时的操作才可以用等待光标,在软件开发中这个耗时的操作还有一个时间规定,超过这个时间改变鼠标状态.Top

8 楼sdcer(独钓雪)回复于 2005-09-16 15:26:44 得分 0

等待光标是不需要时间的限制的,哪怕是一个click事件函数,哪怕这个按钮什么都没做,也一样可以使光标置于等待状态。这与事件的性质无关。Top

相关问题

  • OnSetCursor函数中,为什么光标没有改变符号?
  • 改变光标
  • ========怎样在按下鼠标左键时改变光标?==============
  • 怎样获得光标位置改变的事件?(JTextArea里)
  • 怎样调用资源文件中的光标文件改变鼠标指针
  • 怎样使DW中按上下光标健不改变当前记录.
  • 如何改变光标哟??
  • 改变光标的问题~~~~
  • 怎样在运行时期改变光标的形状?如按钮的Click事件执行时?
  • 怎样实现当我把光标(用鼠标)移动到一个EDIT上时EDIT的背景改变?

关键词

  • 代码
  • idc
  • null
  • 光标
  • setcursor
  • loadcursor
  • hhourcursor
  • lpmsgbuf
  • hcursor
  • 耗时

得分解答快速导航

  • 帖主:boomshine
  • sdcer

相关链接

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

广告也精彩

反馈

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