- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想让窗口光标变大。我有一个 c++ Windows 应用程序,其中包含我从类似问题中劫持的以下代码。我正在从 .cur 文件加载光标。
已经试过这个链接:The biggest size of Windows Cursor无法决定答案是“不可能”还是“可能”。
我已经试过了,但它不能在 Windows 8 上运行 --> 我正在加载一个 128x128 的文件,但它看起来仍然很小 (32x32)。任何人都可以发布对他们实际有用的东西吗?
// load cursor resource into hCursor
HCURSOR ghTouchCursor = (HCURSOR)LoadImage(NULL, L"NormalHand.cur", IMAGE_CURSOR, 0,0, LR_LOADFROMFILE);
// must copy cursor, windows is a pita...
HCURSOR ghCopyTouchCursor = CopyCursor(ghTouchCursor);
// set the cursor as the new full-screen cursor
SetSystemCursor(ghCopyTouchCursor, 32512);
我也试过像这样调用加载图像,没有区别。
HCURSOR ghTouchCursor = (HCURSOR)LoadImage(NULL, L"NormalHand.cur", IMAGE_CURSOR, 128,128, LR_LOADFROMFILE);
GetSystemMetrics(SM_CXCURSOR) 返回 32 但根据官方网站:"SetSystemCursor...您可以使用此函数设置任意大小的光标。"
似乎对“不可能”达成了共识。
最佳答案
可以通过调用 GetSystemMetrics
检索系统支持的光标大小(以像素为单位),调用 SM_CXCURSOR
width 和 SM_CYCURSOR
高度。
如 msdn 所述,这是系统在创建游标时可以使用的唯一大小,这意味着如果您在调用 LoadImage
时使用更大的大小将被忽略。
如果您想要一个更大的光标,但系统阻止您创建一个,另一种方法是隐藏当前光标,并让图像 float 在光标实际所在的位置。
这样用户会认为光标已经改变,但实际上光标是不可见的,并且在其位置设置了图像。
关于c++ - 在 Windows 8 上使 Windows 光标变大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117764/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!