说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

一劳永逸让VB自动改变控件大小

HTML文档下载 WORD文档下载 PDF文档下载
一劳永逸让VB自动改变控件大小


深圳市东门茂业百货11楼 邓 勇
 当窗体大小改变时,如何动态的改变控件的大小是许多VB 程序员头痛的事。有的人设置窗体Resizable 但却不改变控件的大小;有的人则根据控件的绝对位置与窗口大小相加减的办法来重新定位控件与改变大小,这种办法比较繁琐,且不可重用;当然也有人则限定窗口干脆不让改变。有没有一种简便易行的办法?答案是肯定的,下面给出一个一劳永逸的办法,源程序如下:

Option Explicit
Private FormOldWidth As Long
  '保存窗体的原始宽度
Private FormOldHeight As Long
  '保存窗体的原始高度

'在调用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 0
End 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 0
End Sub

Private Sub Form_Load()
  Call ResizeInit(Me) '在程序装入时必须加入
End Sub

Private Sub Form_Resize()
  Call ResizeForm(Me) '确保窗体改变时控件随之改变
End Sub

  本例中给出了二个函数: ResizeInit 和 ResizeForm ,在调用 ResizeForm 之前必须先调用 ResizeInit。你可以将本程序拷到窗体代码段里,然后在窗体里加入任意控件即可进行测试。

Android本地化开发技巧 Android开发网将推出每天一类专题 ExifInterface使用,Android 2.0新增类 GraphableButton类实现Android UI开发 Android控件开发之ToggleButton原理 Android标题栏TitleBar全攻略 AsyncTask实例代码演示Android异步任务 重绘TextView类演示Android的Handler Android的SoundPool类使用与利弊 AsyncTask解决Android UI堵塞问题 Android自定义View实例AnalogClock源码 Android UI开发专题(五) Bitmap和Canvas实例 Android UI开发专题(四) View自绘控件 Android UI开发专题(三) 各种Drawable 提高Android开发效率-Eclipse快捷键大全 Android UI开发专题(二) 之绘图基础 Android UI开发专题(一) 之界面设计 Only the original thread that created a view hierarchy can touch its views的相关 Android上的Back键事件捕获 Android蓝牙API之BluetoothSocket类(2) Android蓝牙API之BluetoothSocket类 Android蓝牙API之BluetoothAdapter类(1) Android蓝牙API之BluetoothAdapter类(2) AndroidManifest.xml文件剖析 (三) AndroidManifest.xml文件剖析 (二) AndroidManifest.xml文件剖析 (一) MOTODEV初体验,高效Android开发工具 Simple让BASIC语言编写Android程序 MOTODev试用报告- Android开发效率之源 安装MOTODEV Studio for Android版方法 Android开发工具-motoDEV studio介绍 CView类中如何实现浮动的提示信息? 怎样给对话框创建一个视1? 报表计时用table,不用query,报表已设计好了,在显示预览时如果将一些不符合条件记录筛选择掉呢? 请问流是个什么概念? 我是初学,请指点 送分求购api用法及中文说明! asp页面可否设置关键字,使文章能被搜索引擎搜索到? ~~谁想做世界杯活力宝贝~~? 如何将StringGrid 中的数据保存为Html格式的表格 关于断点续传,请问大家 php中有没有 与 asp response.clear等同函数 单片机高手请看:中断中的中断,麻烦中的麻烦。 怎一个难字了得?挑战高手 如何改变LISTVIEW中各项的宽度 求《C++ Primer》中文版电子书下载;ejian@21cn.com 请问:在Asp中如何使用ODBC和SQL 注册表help... ListCtrl控件设为ICON属性,请问是否有subitem属性? Win2000系统去访问WIN98系统的服务器 PING的通 但打开的时候报参数出错! vb调用vc编的activex oem怎么老是连不上阿? 简单的入门问题:如何让菜单变灰? how add icon to one popup menu ? 怎么判断一个form对象变量为空呢? 发送和接收数据包问题? ActiveX问题,微软专家请进.<------------- 急 *.idc不能运行了,请问这是为什么? dbcontrols(泰山__抛砖引玉) 怎样才能够把ado记录集写到EXECL并进行打印呢? 如何判断字符串中,有几个指定的字符? xml数据文件倒入数据库,有什么好方法。 检查数据的有效性,最好是在哪一个事件中检查?怎样写,可否给点例子。 如何在DELPHI中调用FLASH图片。谢谢!有帮助的给分! 一个有关串列的question!HELP.. 怎样让对话框总在最前? 今天一个女孩脸红的对我说声谢谢 为什么dll调试跟踪不进去 菜鸟提问:请解释一下.vbs好吗?里面可以放那些东西,怎么引用.......等等 Delphi 2 BCB的问题:BCB中的"::", ".","->"有什么区别? *.idc不能运行了,请问这是为什么?谢谢 简单的数据库问题 CFileDialog()函数的参数问题????? php ed3.0 为什么不好使 大散分,快来答,答者有分! access 表中的datetime型字段在delphi中如何使用? 有谁看过《Visual C#.NET开发实践》?? 怎样改变按钮标题的颜色? 请大家帮忙测试一下这段winsocket代码,为什么接受不到字符串 数据库问题 如何理解COM中的自动化?跟贴有分!!! 怎么样才能实现对音量的控制,最好能达到有下脚喇叭的功能 phpmyadmin之前的密码认真是怎么回事呀(配置问题) 谁能帮忙介绍工作? 如何让一棵树悄悄的死去 人教版一年级数学解决"一共有多少"的实际问题教学设计 求小学二年级《生命教育》的教案 600字左右,不要和其他的重复啊~ 写我初中第一次月考前的的作文的心情600字 苏教版第二册一年级数学下册教案:26、求去掉多少的实际问题 甲型H1N1流感 为什么叫猪流感只是好奇而已! 学校新建了一个直径是6米的圆形喷水池,沿着喷水池的外沿建了一条宽是2米的环形草坪,问环形草坪的面积?2)沿环形草坪外延做一圈防护栏,防护栏长多少米? 苏教版三年级数学下册全册教案哪里有 2010~2011 作文比赛2010年至2011年的作文比赛有哪些要有一定价值的比赛 最好是以投稿的形式不考虑哪些需要参加复赛的PS:新概念比赛我已经知道了就不要再说了速回~~~~~~~~~~~~~~~~~~~ 1学校新建了一个直径是6米的圆形喷水池,沿着喷水池的外沿建了一天款式2米的环形草坪,问环形草坪的面积?(2)沿环形草坪外延做一圈防护栏,防护栏长多少米?学校新建了一个直径是6米的圆 学校又买了7套桌椅,其中桌子共花了105.7元,椅子共花了77.7元.每张桌子比每把椅子贵多少元用两种方法解答 作文:告别2010年,迎接2011年好的++++++++++++分 (人不可貌相) 的事例不知道有什么事例,请高手说下都哪些事例 要2.3个事例谢谢 英语翻译关于幂等矩阵的值域与核摘 要本文通过幂等矩阵、投影矩阵和广义逆矩阵的有关知识,建立幂等矩阵的值域与核的关系式,再进行证明.证明时需要解决的问题是怎样去证明值域与核的 2010-2011年人教版八年级下学期期中语文有可能会考什么作文? 求 有关毛泽东的事例.议论文用.字数100字就够了 英语翻译我在探究弹簧振子运动的过程中,发现泰勒级数可用于解一些简单的微分方程;用泰勒级数可以把解微分方程的问题转化为求数列通项公式的问题;我把这种方法应用于物理中,用于 2010-2011年度初三语文第一次月考试卷一、语言技能考查.(12分)下列题目均有若干个选项,选择其中符合题意的一项,将序号填在括号内,每题3分.1.请选出下列词语中加点字注音有误的一项( C 不为失败找借口的议论文事例? 英语翻译近几年来数学家们对于矩阵多项式的根的研究有了些研究成果,包括对形如AX XB=C的矩阵方程的研究,得出了在什么条件下矩阵方程AX XB=C有解,以及一般解的构造方法.在这篇文章中,我进 关于年味的作文 要2010_2011的 谁会画初中物理《多彩的物质世界》知识树 急寻数学论文摘要翻译!摘要如下: 凹凸性是函数的一种独特性质,它有几何意义,也有代数意义,凹凸性与凸(凹)函数在不等式、泛函分析、最优理论、数学规划、运筹学、控制论及数理 山东出版集团六年级上册寒假作生活指导P6-P7页怎么写!一共有五个题,名叫(英语沙龙)P6-P7页!记住是:山东出版集团,山东教育局出版社,急要答案………… 一个圆形喷水池的周长是37.68米,这个圆形喷水池占地多少平方米? 英语翻译利用仿射变换证明初等几何命题内容摘要:本文探讨了仿射变换在初等几何中的证明.提出了利用仿射变换证明初等几何命题的基本思路,并给出了它在三角形、四边形、圆锥曲线命 五年级上册寒假学伴英语第十五页回答下面关于字母的问题what letter is a question?-----------what letter is a drink?----------what letter is a part of the face?-----------what letter is an insect?-----------what letter is a vege 一个圆形喷水池的周长是31.4米,它的占地面积是多少平方米? 坡角为30度的楼梯表面铺地毯,地毯长度至少需要多少米答案是2(1+根号3)告诉我怎么算三角函数我不懂 初中第一次(作文) 如果入射光线不变,使平面镜转动5°,反射光线和入射光线的夹角的变化A 减5°或增5°B 减5°或增10°C 增5°D 减5° 坡度为1:2.5的楼梯表面铺地毯,地毯的长度至少需要多少m 第一次 作文 、一块长方形场地长18米,宽16米,周围有3,米宽的草坪求这块场地包含草坪一共占地多少平方米?草坪的占地面一块长方形场地长18米,宽16米,周围有3米宽的草坪求这块场地包含草坪一共占地多少 学校购进了50套桌椅,每张桌子60元,每把椅子25元,一共用多少钱?(列综合算式,用2种方法解答) 关于第一次……的作文,写得美一点就行了 一块长方形花园宽是32米,现在把花园宽增加6米,面积增加了360平方米.现在花园的面积是多少平方米? 坡角为30度的楼梯表面铺地毯,地毯长度至少需要多少米答案是2(1+根号3)告诉我怎么算 知识树怎么画? 公园有一块长方形的草坪长 62米,要把宽增加35米,长不变.扩大的草坪那个面积是多少? 坡为30度的楼梯表面铺地毯,地毯的长度至少需要多少米(精确到0.1米) 七年级数学知识树怎么画 一个长方形草坪的长是25米,面积为450平方米.如果增长到75米,宽不变,扩大后的草坪面积为多少? 怎样用最简便的方法杀死臭虫 高中政治(知识网络构建)知识树怎么画啊!本人第一次劫持什么知识树滴, 表达对母亲的感激的诗句,有哪些? 怎么消灭臭虫 作文“离梦想还有一步”应该怎么写?写什么例子? 公园里有一块草坪,宽8米,占地面积480平方米,为了需要现在要把宽增加到60米,长不变,扩大后的草坪面积比原来多多少平方米? 给3-5个最可能出的题目. 有什么好方法杀死臭虫 坚强的作文(通过一件事例来说明) 食用猪肉能否感染甲型H1N1流感 怎样快速杀臭虫 我依然坚强 作文 最好是事例 当入射光线与平面镜成20°角时,反射角为( ) 大米里面有虫子怎么办啊,有没有什么简单的办法啊 五年级心理健康教育教案找一下五年级心理健康教育全册的教案!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘