函数功能:该函数从一个与应用事例相关的可执行文件(EXE文件)中载入指定的光标资源。该函数已被Loadlmage函数替代。
这个模块可以是一个可执行文件 , 也可以为空 . 当模块句柄指向一个文件时 , LoadCursor则从这个文件中获取光标 . 当模块句柄为空时 , LoadCursor则从系统中获取光标 .
函数原型:HCURSOR LoadCursor(HINSTANCE hlnstance,LPCTSTR lpCursorName);
参数:
hlnstance:标识一个模块事例,它的可执行文件包含要载入的光标。
LpCursorName:指向以NULL结束的字符串的指针,该字符串存有等载入的光标资源名。该参数低位字节和高位字节0组成资源标识器也可以由低位字为资源标识符和高位字为零组成。也可以用MAKEINTRESOURCE宏命令创建该值。要使用Win32预定义的一个光标,应用程序必须把hlnstance参数设为NULL,并把IpCursorName设为如下值之一:
IDC_APPSTARTING 标准的箭头和小沙漏
IDC_ARROW 标准的箭头
IDC_CROSS 十字光标
IDC_HELP 标准的箭头和问号
IDC_IBEAM 工字光标
IDC_NO 禁止圈
IDC_SIZEALL 四向箭头指向东、西、南、北
IDC_SIZENESW 双箭头指向东北和西南
IDC_SIZENS 双箭头指向南北
IDC_SIZENWSE 双箭头指向西北和东南
IDC_SIZEWE 双箭头指向东西
IDC_UPARROW 垂直箭头
IDC_WAIT 沙漏返回值:如果成功,返回值是新载入的光标的句柄:如果失败,返回值是NULL。若想获得更多错误信息,请调用GetLastError函数。
备注:LoadCursor函数仅载入没有被载入过的光标资源,否则,它检取已存在的光标资的句柄。仅当IpCursorName参数指向一个光标资源时,该函数才返回一个有效的光标句柄。如果IpCursorName不是指向光标而是指向了其他类型的资源(如icon),则该函数返回值不是NULL,尽管它不是一个有效的光标句柄,该函数为当前显示设备光标搜寻最贴切的光标资源。光标资源可以是彩色或单色的位图。Windows CE:当目标平台不支持鼠标光标时。使用cursor光标组件。该光标组件支持的唯一的光标是等待光标(IDC_WAIT)。使用LoadCursor函数与SetCursor函数可设值等待光标。SetCursor(LoadCursor(NULL,IDC_WAIT))当目标平台不支持鼠标光标时,使用cursor光标组件,该组件以桌面窗口平台同样的方式支持LoadCursor函数,唯一不同的是仅支持单色光标。Windows CE不支持彩色光标。试图载入一个彩色光标,将产生难以预料的结果。返回值是不确定的。
1.如果你想载入系统自带的光标 , 可以用下面的代码:
HCURSOR hCur = LoadCursor( NULL , IDC_CROSS ) ;
::SetCursor(hCur);
2.如果想载入资源中自己绘制的光标 , 可以用下面的代码:
HCURSOR hCur = LoadCursor(AfxGetInstanceHandle() ,
MAKEINTRESOURCE(IDC_CURSOR1));
::SetCursor(hCur);
3. 在VC6 MFC中改变视图类的指针的方法如下:
1)添加WM_SETCURSOR消息;
2)重载:
BOOL CDddView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
::SetCursor(::LoadCursor(NULL,IDC_WAIT));
// return CView::OnSetCursor(pWnd, nHitTest, message);
return TRUE;
}