我的应用程序支持多DPI,当我们调用SetWindowPos
或SetWindowPlacement
时,我们使用为相应监视器计算的矩形来做到这一点。但是,似乎这些函数假定提供的大小适用于 current DPI,并对其进行缩放。更糟糕的是,在WM_CREATE
期间,它不使用WM_GETDPISCALEDSIZE
来缩放尺寸,而只是线性地缩放,因此我们无法校正尺寸。
是否有一种方法可以强制SetWindowPos
或SetWindowPlacement
完全使用所提供的窗口大小(在未缩放的坐标中)?