MFC中LoadCursor 与 LoadImage

来源:互联网 发布:mac下载的系统在哪 编辑:程序博客网 时间:2024/04/29 23:06
如何在单文档程序中,自定义光标。
在view类中添加WM_SETCURSOR消息,记住在视图类而不是在框架类中,就如墙纸和墙的关系,你懂得。。。
然后添加如下代码:
SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR));
AfxGetApp( )是全局的。
  AfxGetApp( )这个函数可以得到当前应用进程的指针,是CWinApp*类型的,通过这个指针可以访问到这个进程中的对象。
最后记着:把return 返回值改为TRUE
LoadCursor
函数功能:该函数从一个与应用事例相关的可执行文件(EXE文件)中载入指定的光标资源。该函数已被Loadlmage函数替代。
  函数原型:HCURSOR LoadCursor(HINSTANCE hlnstance,LPCTSTR lpCursorName);
  参数:
  hlnstance:标识一个模块事例,它的可执行文件包含要载入的光标。
  LpCursorName:指向以NULL结束的字符串的指针,该字符串存有等载入的光标资源名。该参数低位字节和高位字节0组成资源标识器也可以由低位字为资源标识符和高位字为零组成。也可以用MADEINTRES_OURCE宏命令创建该值。要使用Win32预定义的一个光标,应用程序必须把hlnsfance参数设为NULL,并把IpCursorName设为如下值之一:
  IDC_APPSTARTING:标准箭头和小沙漏;IDC_ARROW:标准光标;IDC_CROSS:十字光标。
  返回值:如果成功,返回值是新载入的光标的句柄:如果失败,返回值是NULL。若想获得更多错误信息,请调用GetLastError函数。
  备注:LoadCursor函数仅载入没有被载入过的光标资源,否则,它检取已存在的光标资的句柄。仅当IpCursorName参数指向一个光标资源时,该函数才返回一个有效的光标句柄。如果IpCursorName不是指向光标而是指向了其他类型的资源(如icon),则该函数返回值不是NULL,尽管它不是一个有效的光标句柄,该函数为当前显示设备光标搜寻最贴切的光标资源。光标资源可以是彩色或单色的位图。Windows CE:当目标平台不支持鼠标光标时。使用cursor光标组件。该光标组件支持的唯一的光标是等待光标(IDC_WAIT)。使用LoadCursor函数与SetCursor函数可设值等待光标。SetCursor(LoadCursor(NULL,IDC_WAIT))当目标平台不支持鼠标光标时,使用cursor光标组件,该组件以桌面窗口平台同样的方式支持LoadCursor函数,唯一不同的是仅支持单色光标。Windows CE不支持彩色光标。试图载入一个彩色光标,将产生难以预料的结果。返回值是不确定的
LoadCursor 已被LoadImage取代。。。
http://baike.baidu.com/view/1080246.htm