当每个监视器的 DPI 更改(WM_DPICHANGED
消息)时,列表视图、树视图、富编辑、列表框等控件的内置滚动条不会缩放(如预期的那样)。
它们需要以编程方式进行扩展。
虽然我没有找到任何 API(在 Win32 中也没有,只在 WinForms 中)来设置滚动条大小。
我可以使用什么 API 来设置滚动条大小(宽度)?
或者至少我如何获得滚动条句柄?(我假设滚动条内部是单独的子控件)一旦我有了句柄,我假设我可以MoveWindow
用来调整它的大小(编辑:我的假设是不正确的,正如@Anders 的回答所示)
有关背景信息,请参阅Windows 上的高 DPI 桌面应用程序开发。
有几个看似重复的问题,但实际上没有一个是相关的:
那里的答案要么更改系统范围的设置,要么DataGrid
仅适用于(在其界面中具有单独的子滚动条控件)。