ham*_*zis 5 winapi cursor dpi hdpi
在我尝试获取光标时连接了高DPI监视器的计算机上(虽然GetIconInfo或GetIconInfoEx)我得到的HBITMAP是正常大小的3倍.
有没有办法让游标正常大小,以便我自己不必调整大小?
当我调整自己的大小时,我会收到文物
由于它被标记为重复的问题(加载光标具有一定的分辨率),让我解释为什么它不是:
首先,我没有加载任何光标.我正在使用系统的默认设置.此外,当我向系统查询光标大小时,无论光标是在hi-DPI还是普通DPI监视器上,我总是得到64个像素,相同的值.无论我从控制面板显示器的缩放系数到100%还是更高,我都得到相同的值.无论我是否有小,中或大光标(从控制面板鼠标轻松访问),我得到的值也相同
小智 0
您没有说明正常大小是指什么,所以我假设它是硬件鼠标指针显示的光标大小(32\xc3\x9732 at 96\xc2\xa0DPI 100\xc2 \xa0% 比例)。
\n返回的位图尺寸GetIconInfo(以及光标本身)受到控制面板中指定的 DPI 比例的影响,这可能取决于 Windows 版本,整个系统相同,也可能因显示器而异。此外,位图大小还受到应用程序是否标记为 DPI 感知的影响,否则 Windows 会缩放应用程序的所有内容。
| DPI 比例 | 鼠标光标大小 | DPI 感知 | 获取图标信息位图 |
|---|---|---|---|
| 100% | 32\xc3\x9732 | - | 32\xc3\x9732 |
| 150% | 48\xc3\x9748 | 不 | 72\xc3\x9772 |
| 150% | 48\xc3\x9748 | 是的 | 48\xc3\x9748 |
| 200% | 64\xc3\x9764 | 不 | 128\xc3\x97128 |
| 200% | 64\xc3\x9764 | 是的 | 64\xc3\x9764 |
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |