是否可以将系统光标大小设置为超过32px x 32px?
当前,我正在使用此代码设置光标。
#define OEMRESOURCE
#include <windows.h>
#include <chrono>
#include <thread>
int main()
{
//Load cursor
const HCURSOR customCursor = LoadCursorFromFile(L"Cursor.cur");
//Replace system cursor with loaded cursor
SetSystemCursor(customCursor, OCR_NORMAL);
//Sleep the current thread to allow the user to play with new cursor
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
//Restore original system cursors
SystemParametersInfo(SPI_SETCURSORS, 0, nullptr, 0);
}
但是,即使光标文件的大小大于32px x 32px,也不会缩小光标。
另一个question建议使用LoadImage
。
但是,使用直线
const HCURSOR customCursor = static_cast<HCURSOR>(LoadImage(nullptr, L"Cursor.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE));
所建议的似乎没有什么不同。尝试手动设置尺寸,例如
const HCURSOR customCursor = static_cast<HCURSOR>(LoadImage(nullptr, L"Cursor.cur", IMAGE_CURSOR, 80, 80, LR_LOADFROMFILE));
影响光标的质量,但不影响其大小。
有人有什么建议吗?
我当前正在系统上运行Windows 10
答案 0 :(得分:-1)
break
设置系统光标大小 回答:如果系统支持,您可以将大小设置为任何值。 是否可以将系统光标大小设置为32px x 32px以上? 回答:测试上面提到的代码 如果输出为32,则表示您不能超过游标的大小 对于某些显示器,它可能会为您提供更大的数字,因此在那些屏幕上,您可以将光标大小设置得更大。 所以理想的方法是检查SM_CYCURSOR SM_CXCURSOR不管游标的大小是多少 从文件
加载相同大小的光标nWidth和nHeight参数必须指定当前显示驱动程序支持的宽度和高度,因为系统无法创建其他大小的游标。要确定显示器支持的宽度和高度驱动程序,使用GetSystemMetrics函数,指定SM_CXCURSOR或SM_CYCURSOR值。
在关闭之前,应用程序必须调用DestroyCursor函数以释放与游标关联的所有系统资源。
代码尝试在具有不同显示驱动器的不同机器上尝试此操作。chnage32至64
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")
void main()
{
int fResult;
fResult = GetSystemMetrics(SM_CYCURSOR);
}