来自博主曾经一片的:MFC 设置光标 SetCursor(HCURSOR hCursor)用法。
各类光标:
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 沙漏
设置方法
①窗口类初始化时就设置
加载系统光标:
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口采用箭头光标
加载自定义光标:
LoadCursor(hThisInst,lpszCursorname);
或LoadCursor(NULL,MAKEINTRESOURCE(lpszCursorname));
②SetCursor
SetCursor(LoadCursor(NULL,IDC_HAND));//从系统光标中加载
③来自博主Pipi0714的:
BOOL CXXX...::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if(m_bTransforming) //设置更改光标的标志
{
SetCursor(m_hCursor); //调用
return TRUE; //必须返回否则看不到效果
}
return CDialog::OnSetCursor(pWnd, nHitTest, message); //系统默认
}
④ LoadImage函数
函数功能:该函数装载图标,光标,或位图。
函数原型:HANDLE LoadImage(
HINSTANCE hinst,
LPCTSTR lpszName,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuLoad
);
如:
WndClass.hCursor=(HCURSOR)LoadImage(NULL,"自定义光标.cur",IMAGE_CURSOR,72,32,LR_LOADFROMFILE);
⑤LoadCursorFromFile函数
函数原型:HCURSOR LoadCursorFromFile(LPCTSTR IpFileName);
如:
LoadCursorFromFile(_T("POINTER.cur"));
IpFileName:指明创建光标所用的文件数据资源,文件中的数据格式必须是COR或ANI,如果IpFileName的高位字为非零,则IpFileName就是指向一个字符串的指针,该字符串是包含光标数据的文件的名字。
如果IpFileName的高位字为零,低位字是系统光标标识符,则该函数在WIN.INI文件中搜索与系统光标名字有关的[Cursors]条目