搜索
首页电脑教程电脑知识VB控件大小自适应函数的类型不符合要求!

VB控件大小自适应函数的类型不符合要求!

VB控件大小自适应函数的类型不符合要求!

添加一个模块

Option Explicit

Dim FormOldWidth As Long '窗体旧的宽度值

Dim FormOldHeight As Long '窗体旧的高度值

Public Sub ResizeInit(FormName As Form)

Dim pCtl As Control

'设置窗体旧的高度与宽度

FormOldWidth = FormName.ScaleWidth

FormOldHeight = FormName.ScaleHeight

On Error Resume Next

For Each pCtl In FormName

'设置窗体中控件的Tag值(根据空间的位置和大小来设置)

'返回或设置一个表达式,它存储程序需要的额外数据。

'与其它属性不同,Visual Basic 不使用 Tag 属性的值;

'可用该属性识别对象。

pCtl.Tag = pCtl.Left & " " & pCtl.Top & " " & pCtl.Width & " " & pCtl.Height & " "

Next pCtl

On Error GoTo 0

End Sub

Public Sub ResizeForm(FormName As Form)

Dim Pos(4) As Double

Dim i As Long, tmpPos As Long, staPos As Long

Dim pCtl As Control

Dim ScaleX As Double, ScaleY As Double

'保存窗体的宽度与高度缩放比例

ScaleX = FormName.ScaleWidth / FormOldWidth

ScaleY = FormName.ScaleHeight / FormOldHeight

On Error Resume Next

'变化窗体内的各控件

For Each pCtl In FormName

staPos = 1

For i = 0 To 4 '位置和大小

'取得控件的原始位置和大小

tmpPos = InStr(staPos, pCtl.Tag, " ", vbTextCompare)

If tmpPos > 0 Then

Pos(i) = Mid(pCtl.Tag, staPos, tmpPos - staPos)

staPos = tmpPos + 1

Else

Pos(i) = 0

End If

'根据控件的原始位置及窗体改变大小的

'比例对控件重新定位与改变大小

pCtl.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY

Next i

Next pCtl

On Error GoTo 0

End Sub

在Form中添加代码

Private Sub Form_Load()

Call ResizeInit(Me)

End Sub

'窗体大小发生变化时,根据窗体改变大小的比例

'对窗体中各控件重新定位和改变大小。

Private Sub Form_Resize()

Call ResizeForm(Me)

End Sub

然后在窗体里放几个控件然后改变窗体大小试试

VB textbox控件随窗体变化自动调整

控件自适应窗体:

Dim oldheight&, oldwidth&

Private Sub Form_Load()

oldheight = Me.Height: oldwidth = Me.Width

End Sub

Private Sub Form_Resize()

Dim cnt As Control

For Each cnt In Controls

cnt.Width = cnt.Width * Me.Width / oldwidth

cnt.Height = cnt.Height * Me.Height / oldheight

Next

oldheight = Me.Height: oldwidth = Me.Width

End Sub

以上是VB控件大小自适应函数的类型不符合要求!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:Excel办公网。如有侵权,请联系admin@php.cn删除
Linux vs Mac:如何在Mac上安装Linux -MinitoolLinux vs Mac:如何在Mac上安装Linux -MinitoolMay 14, 2025 am 01:21 AM

Linux和Mac有什么区别?您要在Mac上安装Linux吗? Php.CN的这篇文章将向大家展示。您可以参考本指南有关双启动Linux和MacOS。

什么是MHTML,IT和HTML之间有什么区别-Minitool什么是MHTML,IT和HTML之间有什么区别-MinitoolMay 14, 2025 am 01:20 AM

什么是MHTML?如何打开或查看它? IT和HTML之间有什么区别?如何将MHTML转换为HTML?如果您正在寻找上述问题的答案,则可以参考PHP.CN的这篇文章。

求解已删除的文件在Windows 10 -Minitool中不断出现求解已删除的文件在Windows 10 -Minitool中不断出现May 14, 2025 am 01:19 AM

本文重点介绍了删除文件在Windows 10中不断出现的主题,引入了负责任的原因和可行的解决方案。

如何通过卸载产品密钥停用Windows 10/11 -Minitool如何通过卸载产品密钥停用Windows 10/11 -MinitoolMay 14, 2025 am 01:18 AM

这篇文章教您如何通过删除产品密钥或许可证来停用Windows 10/11。您可以使用该产品密钥在稍后(如果需要)激活另一台计算机。有关更多计算机提示和技巧,您可以访问PHP.CN软件官方网站。

即时解决错误0164:内存大小减小即时解决错误0164:内存大小减小May 14, 2025 am 01:15 AM

一些Windows用户报告说,每次启动计算机时,错误0164内存大小都会降低屏幕。怎么了?如果您在同一条船上,恭喜!您来对地方了!在这篇文章中

最佳修复程序:此页面现在在Facebook -Minitool上现在不可用最佳修复程序:此页面现在在Facebook -Minitool上现在不可用May 14, 2025 am 01:11 AM

目前不可用的是您使用Web浏览器访问Facebook时可能遇到的错误消息。在此php.cn帖子中,我们将列出一些有效的方法,您可以尝试摆脱此错误。

Windows 11 KB5010414发行了许多新功能 -  MinitoolWindows 11 KB5010414发行了许多新功能 - MinitoolMay 14, 2025 am 01:09 AM

Windows 11 KB5010414现在可以使用Windows 11的新可选更新。您知道什么是新的并解决了吗? PHP.CN软件将在这篇文章中向您显示此信息。此外,它还告诉您如何下载和安装在您的compu上

如何更改Windows 11中的Windows更新设置? -  Minitool如何更改Windows 11中的Windows更新设置? - MinitoolMay 14, 2025 am 01:08 AM

是否要在Windows 11计算机上暂停Windows更新?是否要设置主动时间以安排计算机重新启动以完成更新过程?您需要知道如何更改Windows 11中的Windows更新设置。此php.cn帖子将向您显示

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。