【发布时间】:2021-10-18 23:11:37
【问题描述】:
当LoadCursor 函数用于从资源加载游标时,生成的HCURSOR 可以在不同的监视器上使用,并且始终以正确的大小显示。
即:通常:
- 在 96 dpi 显示器上使用 32x32 资源,
- 在 192 dpi 显示器上使用 64x64 资源。
但是,当游标是从内存中以编程方式创建时(比如使用LookupIconIdFromDirectoryEx 和CreateIconFromResourceEx),生成的游标具有固定的分辨率。这意味着它在混合 DPI 多显示器设置中的至少一台显示器上显示为错误的尺寸。
我还检查了LoadCursorFromFile,它也提供了这种动态分辨率行为,例如LoadCursor。
有没有办法以编程方式创建一个游标,该游标根据显示在哪个监视器上动态切换?加载了LoadCursor 的游标在幕后发生了什么神奇的事情?
【问题讨论】: