- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB如何使控件位置和大小自动适应窗体变化的三种不同模式,vb控件适应窗体大小,vb窗体透明控件不透明,vb窗体控件,c控件自动适应窗体,c窗体与控件适应屏幕,窗体控件,excel窗体控件,excel2013窗体控件,windows窗体控件库
VB如何使控件位置和大小自动适应窗体变化的三种不同模式
本人发现VB2008前版本使控件位置和大小自动适应窗体变化的提问很多。但回答的正确的不多。本人用vb6.0也遇到此问题。认真研究的一下。给出最正确的三种模式给大家借鉴。有更好方法可以在交流。代码是无需更改的。
第一种。就是最实用的,就是所有控件的width和height按比例随窗体变化,位置也是当然是按比例哦。控件的字体不变。如下复制到代码:
改比例,字体不该。最实用Option ExplicitPrivate FormOldWidth As Long 保存窗体的原始宽度Private FormOldHeight As Long 保存窗体的原始高度Private Sub Form_Load() Call ResizeInit(Me) 在程序装入时必须加入End Sub Private Sub Form_Resize()
Call ResizeForm(Me) 确保窗体改变时控件随之改变End Sub在调用ResizeForm前先调用本函数Public Sub ResizeInit(FormName As Form) Dim Obj As Control FormOldWidth = FormName.ScaleWidth FormOldHeight = FormName.ScaleHeight On Error Resume Next For Each Obj In FormName Obj.Tag = Obj.Left Obj.Top Obj.Width Obj.Height Next Obj On Error GoTo 0End Sub 按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数Public Sub ResizeForm(FormName As Form) Dim Pos(4) As Double Dim i As Long, TempPos As Long, StartPos As Long Dim Obj As Control Dim ScaleX As Double, ScaleY As Double ScaleX = FormName.ScaleWidth / FormOldWidth 保存窗体宽度缩放比例 ScaleY = FormName.ScaleHeight / FormOldHeight 保存窗体高度缩放比例 On Error Resume Next For Each Obj In FormName StartPos = 1 For i = 0 To 4 读取控件的原始位置与大小 TempPos = InStr(StartPos, Obj.Tag, , vbTextCompare) If TempPos 0 Then Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos) StartPos = TempPos + 1 Else Pos(i) = 0 End If 根据控件的原始位置及窗体改变大小的比例对控件重新定位与改变大小 Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY Next i Next Obj On Error GoTo 0End Sub
第二种,只位置就是控件的left和top随着变。其他都不变。如果变化大了不好看。如下复制:
Option Explicit Private ObjOldWidth As Long 保存窗体的原始宽度 Private ObjOl
您可能关注的文档
- CD病人低渣饮食分析.doc
- CFB脱硫气固两相流动特性的试验研究.doc
- CIK细胞免疫活性细胞.doc
- CLS-II型齿轮传动效率实验报告.doc
- CTA血管解剖.doc
- CT断层解剖图(胸部心脏).doc
- CT诊断笔记(NXPowerLite).doc
- Cygwin的安装配置.doc
- C反应蛋白(CRP)测定的最新临床意义.doc
- C开发WPFSilverlight动画及游戏系列教程(GameTutorial)(十三)牵引式地图移动模式①.doc
- 育贤小学期末试卷及答案.docx
- 电工特种作业操作证《低电压电工作业题试题》新版_2.doc
- 电工特种作业操作证《低电压电工作业题试题预测》考试题.doc
- 2025至2031年中国退火冲压带行业投资前景及策略咨询研究报告.docx
- 2023年《社戏》阅读答案.pdf
- 鸿铭股份:2025年一季度报告.pdf
- 电工特种作业操作证《低电压电工作业题试题预测》考试题_1.doc
- 福建省宁德市部分中学2024-2025学年高一下学期4月期中质量监测数学试题和答案详解.docx
- 数据库基础(基于达梦DM8)课件:数据库系统运行维护.pptx
- 2025至2031年中国轮罩外卡扣行业投资前景及策略咨询研究报告.docx
文档评论(0)