VC++更改鼠标指针为系统预定义形状和自定义形状

新建一个单文档工程;为视类添加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;

猜你喜欢

转载自blog.csdn.net/bcbobo21cn/article/details/114651008