zoukankan      html  css  js  c++  java
  • MFC 设置鼠标样式(SetSystemCursor函数问题)

      简单说一下在使用MFC中设置鼠标样式的问题,在使用SetSystemCursor函数后,程序退出后并不会自动还原鼠标样式

      BOOL SetSystemCursor( HCURSOR hcur,DWORD id ) 

      该函数使一个应用程序定制系统光标。它用hcur规定的光标内容代替id定义的系统光标内容,接着销毁hcur。

      id比较常用的值:

      OCR_APPSTARTING:标准箭头和小的沙漏;OCR_NORMAL:标准箭头
      OCR_CROSS:交叉十字线光标:OCR_HAND:手的形状(WindowsNT5.0和以后版本)
      OCR_HELP:箭头和向东标记;OCR_IBEAM:I形梁;OCR_NO:斜的圆
      OCR_SIZEALL:四个方位的箭头分别指向北、南、东、西
      OCR_SIZENESEW:双箭头分别指向东北和西南;OCR_SIZENS:双箭头,分别指向北和南
      OCR_SIZENWSE:双箭头分别指向西北和东南;OCR_SIZEWE:双箭头分别指向西和东
      OCR_UP:垂直箭头:OCR_WAIT:沙漏返回值
     
      这里我使用的是CopyCursor函数解决的
     
      HCURSOR CopyCursor(HCURSOR pcur)
     
      
    //复制需要被修改的光标资源
    //变量要是全局变量
    HCURSOR hCur = CopyCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW)));
    
    //设置需要改变的光标
    //这里最好也拷贝一下,原因不明
    BOOL iRet = SetSystemCursor(CopyCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_CROSS))), OCR_NORMAL); ,,,,,,, //还原光标 iRet = SetSystemCursor(hCur, OCR_NORMAL);

      最后说一说如果一开始没有还原鼠标资源对应的光标,继续调用SetSystemCursor函数的话,只会使光标资源越来越乱。。。。。。

      解决方法:

      点击确定就可以重载光标类型了。

  • 相关阅读:
    对position的认知观
    对于布局的见解
    Java中的多态
    继承中类型的转换
    继承中方法的覆盖
    继承条件下的构造方法调用
    Java函数的联级调用
    关于java中String的用法
    凯撒密码
    检查java 中有多少个构造函数
  • 原文地址:https://www.cnblogs.com/yddsblog/p/12764564.html
Copyright © 2011-2022 走看看