在使用LoadCursor或LoadCursorFromFile时,指针的大小总是默认的32x32,如果想让指针变大或变小,该怎么做呢?
其实很简单,只要使用LoadImage接口就好了。
先看下LoadImage的函数原型:
HANDLE WINAPI LoadImage(
_In_opt_ HINSTANCE hinst,
_In_ LPCTSTR lpszName,
_In_ UINT uType,
_In_ int cxDesired,
_In_ int cyDesired,
_In_ UINT fuLoad
);
参数cxDesired, cyDesired可以指定尺寸,这样我们想让鼠标多大,填上相应的大小即可。
更详细的参数介绍,请参考MSDN,这里就不再多说了。
看示例代码:
// 从文件加载的,fuLoad要指定 LR_LOADFROMFILE, 如果是从exe资源里加载的,则不用
// cx,cy填0(且fuLoad没的LR_DEFAULTSIZE)表示使用资源的实际尺寸
HCURSOR hCursor = (HCURSOR)::LoadImage((HINSTANCE)NULL, lpFileName, IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE);
if (hCursor == NULL)
{
//GetLastError();
return;
}
::SetCursor(hCursor)