1、模块代码:
'标准模块声明写入(自定义类型) Type cp wp As Single hp As Single tp As Single lp As Single fp As Single End Type Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long '屏幕尺寸 Private Declare Function GetSystemMetrics32 Lib "user32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Public ap() As cp '定义窗体数组 '屏幕宽 Function ScreenWidth() As Long ScreenWidth = GetSystemMetrics32(0) * 15 End Function '屏幕高,去除底部状态栏高度 Function ScreenHeight() As Long ScreenHeight = (GetSystemMetrics32(1) - 40) * 15 End Function Public Function MyGetWinDirectory() As String Dim sBuffer As String Dim lSize As Long sBuffer = String(255, 0) lSize = GetWindowsDirectory(sBuffer, Len(sBuffer)) sBuffer = Left(sBuffer, lSize) sBuffer = sBuffer + "\" MyGetWinDirectory = sBuffer End Function '定义窗体过程 Public Sub GetControlsSize(ByVal fm As Form) On Error GoTo uerror '跳过无width属性控件 With fm For i = 0 To .Controls.Count - 1 ap(i).wp = .Controls(i).Width / .ScaleWidth ap(i).hp = .Controls(i).Height / .ScaleHeight ap(i).lp = .Controls(i).Left / .ScaleWidth ap(i).tp = .Controls(i).Top / .ScaleHeight ap(i).fp = .Controls(i).Font.Size / (.Controls(i).Width * .Controls(i).Height) Next i End With Exit Sub uerror: Resume Next End Sub
2、窗体代码
'加载窗体 Private Sub Form_Load() '获取每个控件大小比例 On Error GoTo uerror ReDim ap(0 To Me.Controls.Count - 1) uerror: Resume Next GetControlsSize Me '窗口最大化 Me.Left = 0 Me.Top = 0 Me.Width = ScreenWidth Me.Height = ScreenHeight End Sub '窗体尺寸改变时 Private Sub Form_Resize() Dim i As Integer On Error GoTo uerror For i = 0 To Controls.Count - 1 Controls(i).Move ap(i).lp * Me.ScaleWidth, ap(i).tp * Me.ScaleHeight, ap(i).wp * Me.ScaleWidth, ap(i).hp * Me.ScaleHeight If Not Me.Controls(i).Name Like "ListView*" Then Controls(i).Font.Size = ap(i).fp * (Controls(i).Width * Controls(i).Height) End If Next i Exit Sub uerror: Resume Next End Sub
转自CSDN
查看更多有关于 #VB#窗体初始#最大化#改变窗体大小#自动缩放#控件#字体 的文章。
转载请注明来源:VB窗体初始最大化和改变窗体大小自动缩放控件及字体
本文永久链接地址:https://aww255.com/post/816.html
- 栏目导航
- 最新文章
-
-
Win10系统添加开机启动项的步骤
右击开始点运行或按下Win+R,弹出运行窗口输入shell:startup点确定跳出这个文件夹。C:\Users\Adm...
-
麒麟系统命令行常用快捷键介绍
基本快捷键如下:Ctrl+C:终止当前正在运行的命令。当命令卡住或不想继续执行时,可以使用此快捷键强制终止。Ctrl...
-
银河麒麟桌面操作系统进不去系统怎么备份用户数据 Livecd备份数据教程
编写人:张展鹏编写日期:2023/11/27一.操作前准备准备好系统盘和存放数据的光盘或者u盘(有网络的机器登录网页邮箱...
-
七类网线水晶头接法制作步骤教程图解
技发展越来越迅速,我们目睹了综合布线行业的更新迭代,最开始常用的五类线、超五类线渐渐被六类线、超六类、七类线所取代,今天...
-
Win10安装打印机驱动程序失败提示“试图将驱动程序添加到存储区时遇到问题”解决方法
一、问题描述:在安装打印机驱动时,出现错误提示“试图将驱动程序添加到存储区时遇到问题”。多次尝试解决未果,经过多方查找并...
-
- 热门文章
-
-
Win10安装打印机驱动程序失败提示“试图将驱动程序添加到存储区时遇到问题”解决方法
一、问题描述:在安装打印机驱动时,出现错误提示“试图将驱动程序添加到存储区时遇到问题”。多次尝试解决未果,经过多方查找并...
-
电脑配置如何使用命令查看
我们想要查看电脑的配置,是不是都是“此电脑(计算机)”右键属性查看的,如果想查看更详细的软硬件信息就看不到了,但是我们可...
-
银河麒麟桌面操作系统进不去系统怎么备份用户数据 Livecd备份数据教程
编写人:张展鹏编写日期:2023/11/27一.操作前准备准备好系统盘和存放数据的光盘或者u盘(有网络的机器登录网页邮箱...
-
七类网线水晶头接法制作步骤教程图解
技发展越来越迅速,我们目睹了综合布线行业的更新迭代,最开始常用的五类线、超五类线渐渐被六类线、超六类、七类线所取代,今天...
-
Windows系统如何更改软件安装默认位置
我们在使用电脑过程中,难免需要自己安装一些软件,又不想把软件安装在系统分区。安装软件时又不想每次都去更改安装位置,有没有...
-
- 最近发表
-
- 松下KV-S5055C高速彩色扫描仪维修手册中文
- 爱普生epson L6268L6276L6278L6279L6298 ECC维修调试软件
- 奔图复印机CM260系列提示“117-319”“124-315”的解决方法
- 柯尼卡美能达C364e打印彩色红头文件有色差
- 柯尼卡美能达C287跳故障代码C-D010
- 震旦ADC225连接送稿器后出现C-6102故障代码的解决方案
- 柯美C368打印主扫描方向出现满幅黑线的故障分析与解决方案
- 惠普E78223、E78228复印机载初始化操作
- 爱普生 L110 L210 L300 L350 L355 清零软件+图解无限版
- 惠普 E778XX机器报错63.00.3B, 3D, 3F,41故障排除思路 63.00.3B, 63.00.3D, 63.00.3F, or 63.00.41
-
中英文(1)M281(1)软件教程(1)下载(1)长相思(1)圣墟(1)L3158(1)安卓PDF编辑器(1)纸盒不上纸(1)TSC(1)白屏(1)零基础(2)中文破解版(1)H.266(1)电子处方(1)马斯克传(1)得力考勤机(1)MFC-7360(1)恢复出厂(1)CODE(1)还原(3)我师兄实在太稳健了(1)沈念如(1)拆解(1)HDD LLF(1)杏林医学苑(1)富士施乐(3)错误0x800706b9(1)077 900(1)快乐学物理(1)迷你sql2000(1)大奉打更人(1)一剑独尊(1)ReNamer(1)PPT模板(2)C7990(1)EPSON(2)Print&(1)步骤(1)H.264(1)8400(1)定影组件(1)YT(1)间客(1)第一序列(2)模板(2)监控软件(1)无法唤醒(1)72625d(1)系统(1)
发表评论 已有 0 评论