新建一个单文档工程;为视类添加WM_SETCURSOR消息处理函数;
设置鼠标指针为IDC_CROSS,这是系统预定义的,十字形;LoadCursor载入系统预定义光标时,第一个参数为NULL;
预定义,等待光标;有的电脑是沙漏形状,有的是一个转圈的圆;
系统预定义光标如下;
IDC_APPSTARTING 标准的箭头和小沙漏
IDC_ARROW 标准的箭头
IDC_CROSS 十字光标
IDC_HAND Windows 98/Me, Windows 2000/XP: Hand
IDC_HELP 标准的箭头和问号
IDC_IBEAM 工字光标
IDC_ICON Obsolete for applications marked version 4.0 or later.
IDC_NO 禁止圈
IDC_SIZE Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL.
IDC_SIZEALL 四向箭头指向东、西、南、北
IDC_SIZENESW 双箭头指向东北和西南
IDC_SIZENS 双箭头指向南北
IDC_SIZENWSE 双箭头指向西北和东南
IDC_SIZEWE 双箭头指向东西
IDC_UPARROW 垂直箭头
IDC_WAIT 沙漏,Windows7系统下会显示为选择的圆圈表示等待
自己画一个图标;ID为IDI_ICON1;
如下代码设置鼠标指针为IDI_ICON1,代码不会出错,但光标不会显示;
插入一个光标;Cursor;
自己画一下;其ID为IDC_CURSOR1;
如下代码设置鼠标指针为IDC_CURSOR1,运行程序,鼠标指针是空的;
载入自定义光标,第一个参数不能为空,如下图;然后光标出来了,随鼠标移动;
//HCURSOR hCur = LoadCursor( NULL , IDC_CROSS ) ;
//HCURSOR hCur = LoadCursor( NULL , IDC_WAIT ) ;
HCURSOR hCur = LoadCursor( AfxGetInstanceHandle() , MAKEINTRESOURCE(IDC_CURSOR1) ) ;
::SetCursor(hCur);
return true;