在vb中如何得到当前的系统状态是大字体,还是小字体

zhdletter 2000-08-18 04:45:00
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shines77 2000-08-18
  • 打赏
  • 举报
回复
在注册表 HKEY_LOCAL_MACHINE\Config\0001\Display\Settings 下的:

.. DPILogicalX 96 '逻辑字宽
.. DPILogicalY 96 '逻辑字高
.. DPIPhysicalX 96 '物理字宽
.. DPIPhysicalY 96 '物理字高

读和改(需要重启才有效)。96dpi为小字体,120dpi为大字体,当然也可以设置成其他值。
huntout 2000-08-18
  • 打赏
  • 举报
回复
補充︰
標準的小字體是96dpi,標準的大字體是120dpi(125%),
當然用戶還可能設置從20%~500%的任意大小,你都應考慮進去!︰)
huntout 2000-08-18
  • 打赏
  • 举报
回复
Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public Const LOGPIXELSX = 88 ' Logical pixels/inch in X
Public Const LOGPIXELSY = 90 ' Logical pixels/inch in Y

Dim hDC As Long
Dim n As Long

hDC = GetDC(Me.hwnd)
n = GetDeviceCaps(hDC, LOGPIXELSX)
If n = 96 Then
'小字體
ElseIf n = 120 Then
'大字體
End If

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧