我正在使用C#通过PInvoke来调用
这是
编辑:这只影响Windows 8.1。在Windows 7上测试了一下,GetClientRect返回的是未缩放的尺寸!
GetClientRect
方法,以获取一个WindowsForm面板的(作为DirectX渲染目标区域)尺寸。我原本以为WinAPI会提供未缩放的尺寸(即返回值应该与Windows显示DPI设置无关),但实际上它似乎给出的是已经缩放过的尺寸(至少在Windows 8.1上是如此,我还没有在其他操作系统上进行测试)。
ClientRectangle
属性也返回与GetClientRect
相同的已缩放尺寸。当我将表单的AutoScaleMode
更改为none
时,这种情况仍然存在。这是
GetClientRect
的预期行为吗?如果是,我该如何获取未缩放的尺寸?编辑:这只影响Windows 8.1。在Windows 7上测试了一下,GetClientRect返回的是未缩放的尺寸!