请教一个对高手来说很简单的问题!关于改变窗体

hycghit 2003-06-02 09:54:26
我刚接触vb,请问大家一个问题,(见笑了)
如何设置窗体的属性,使之能在不同的分辨率下显示的字体大小和屏幕的分辨率成一定的比例?或者是在拉伸或缩小窗体大小时,窗体内字体大小能和他一起改变?
...全文
38 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBvsVC 2003-06-03
  • 打赏
  • 举报
回复
或者跟楼上的做法,你提供界面让用户自己设定其认为合适的字体/
VBvsVC 2003-06-03
  • 打赏
  • 举报
回复
一个简单的办法,你在800*600下设置一个你认为比较合适的字体大小,假设是9;然后再到1024*768下设置一个你认为合适的字体,假设为10/
调用api/GetSystemMetrics(SM_CXSCreen)得到当前的分辨率
select 分辨率
case 800
将所有字体大小设为9
case 1024
将所有字体大小设为10
....

反正常用的分辨率无非就是几种,你一个一个设置也不是很麻烦
qingming81 2003-06-03
  • 打赏
  • 举报
回复
改变分辨率以适应字体,不如改变字体以适应分辨率。如果用户觉得字体大小不适宜,你应该提供能够在任何条件下改变字体的功能。
道素 2003-06-03
  • 打赏
  • 举报
回复
补充
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
改变屏幕分辨率
道素 2003-06-03
  • 打赏
  • 举报
回复
下面的代码可以获取当前用户屏幕分辨率
Option Explicit
Const ENUM_CURRENT_SETTINGS As Long = -1&
Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Sub Form_Load()
Dim DevM As DEVMODE
Call EnumDisplaySettings(0&, ENUM_CURRENT_SETTINGS, DevM)
Debug.Print "Current screen width: " & DevM.dmPelsWidth & " pixels"
Debug.Print "Current screen height: " & DevM.dmPelsHeight & " pixels"
Debug.Print "Current color depth: " & DevM.dmBitsPerPel & " bits/pixel"
End Sub
csdngoodnight 2003-06-03
  • 打赏
  • 举报
回复


用系统默认字体,都习惯的,少用非系统自带字体,会找不到的而用些想不到的字体替代,难看死了。
openhouse 2003-06-03
  • 打赏
  • 举报
回复
那么你的字体有没有变形呢?
我就遇到过字体变形,不知道该怎么改!
你知道吗??
hycghit 2003-06-03
  • 打赏
  • 举报
回复
to: Wit253(阿狼)
请问:什么是标准的?就是系统默认的吗?宋体9号字体?
hycghit 2003-06-02
  • 打赏
  • 举报
回复
是这样的,我的程序是界面是在800x600分辨率下设计,然后在1024x768分辨率下显示的字体太小了,看着有点费力,但是我又不能为了满足高分辨率而去改变字体大小。
remanwang 2003-06-02
  • 打赏
  • 举报
回复
字体大小一起改变不是一个好主意,字体的大小应当固定
Wit253 2003-06-02
  • 打赏
  • 举报
回复
如果一个人用1024*768习惯了,那么他就不会觉得小,如果你改了字体
别人会觉得你的字太大
最好用标准的
hycghit 2003-06-02
  • 打赏
  • 举报
回复
各位朋友,给个建议,好吗?

7,789

社区成员

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

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