尝试更改我的FMX表单的尺寸以模拟' FullScreen'模式,但是当用户的设置具有更大的缩放比例时,使用屏幕尺寸会发生逆火,因为整个表单变得比屏幕大。
如何检索缩放值以便我可以相应地调整表单大小?
编辑: 这是一个小小的片段,显示了我对这个问题的意图以及它是如何解决的。谢谢你的时间和帮助。
Dim xsite As ServerXMLHTTP60
Set xsite = New ServerXMLHTTP60
On Error Resume Next
xsite.setTimeouts 0, 60000, 30000, 600000
xsite.Open "POST", pServerURL & func, False
aErr = Array(Err.Number, Err.Description)
On Error GoTo 0
If 0 = aErr(0) Then 'No error creating the link
xsite.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'Set request header with Base64-encoded username/password
xsite.setRequestHeader "Authorization", "Basic " & EncodeBase64(UserName & ":" & Password)
On Error Resume Next
xsite.send "xmlData=" & URLEncode(xmldata)
aErr = Array(Err.Number, Err.Description)
On Error GoTo 0
Debug.Print aErr(0)
Debug.Print aErr(1)
End If
答案 0 :(得分:0)
当您致电EnumDisplaySettings
时,生成的DEVMODE
结构包含dmYResolution
字段中的DPI设置。请注意,将NULL
作为设备名称传递给EnumDisplaySettings
将仅获取一个屏幕的信息,在多监视器系统上,您应该枚举所有显示设备。
您也可以在设备上下文中致电GetDeviceCaps
,然后查询LOGPIXELSX
和LOGPIXELSY
。
DPI对应于字体缩放,如下所示:
有关更多信息,最好参考the MSDN article on DPI-related APIs