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

一劳永逸让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。你可以将本程序拷到窗体代码段里,然后在窗体里加入任意控件即可进行测试。

改变元件的视窗式样-Delphi资料 给MDI主窗口加背景-Delphi资料 更改StatusBar为黑底绿字-Delphi资料 画布的圆拷贝和直线拷贝-Delphi资料 回车替Tab下移控件-Delphi资料 获取系统颜色-Delphi资料 渐变色窗口背景-Delphi资料 控件深度投影和阴影效果的实现-Delphi资料 控制Delphi的窗口显示位置 控制Form不能放大、缩小、移动、关闭-Delphi资料 控制系统菜单-Delphi资料 利用Delphi实现支持窗体的自定义函数 轻轻松松在DELPHI3.0中实现三态按钮 全部窗体可使用鼠标移动-Delphi资料 让按钮连续工作--兼谈Delphi元件开发 让彩色光标出现在Delphi程序中 让彩色光标出现在程序中-Delphi资料 在Windows桌面的任务栏上有一个凹陷的区域,其中显示着系统时钟以及一些图标,这个长方形的区域便 如何使用Show方法来显示一个模态窗口-Delphi资料 如何旋转字体-Delphi资料 如何隐藏和显示Windows的任务条-Delphi资料 如何在DELPHI界面上运行可执行文件 设计Form时的快捷键-Delphi资料 生成非矩形窗口-Delphi资料 时隐时现的鼠标-Delphi资料 无标题窗口的移动-Delphi资料 应用程序敏感键的实现-Delphi资料 用Delphi 4.0 设 计 新 型 界 面 用Delphi 实 现 自定 义 颜 色 对 话 框 及 其 构 件 用Delphi 实现自定义颜色对话框及其构件 用Delphi4实现风Word97风格的工具栏 高分求助,JS菜单问题,在线等 我需要msdn最新版 连接 vb做报表的问题 好书推荐 我的站点怎么必须登陆? 这样能释放链表内存吗 请问如何手动调整datagrid的列宽? design pattern in java 书籍 关于调用外部文件并且打开一个应用程序的问题?? 请问create table 返回值为2 是什么意思? 如何象进入sina时一样弹出那种打广告的小框? 一个frame获取参数的问题 如何用Response.BinaryWrite输出文件内容 我想问一个隐藏表格的程序,好象很简单的 高手请进, 小弟有难!!!…………………… 哪里有详细介绍sql2000中pubs和northwind数据库的资料! 请教一个简单问题:请问哪里有lzw算法的详细介绍?压图片可以用这个算法么?有没有lzrw算法! 为什么一些网站把一张大图片要切开很多块? 有谁能确切解释edit.tag的属性tag的含义吗? 如何让打开的对话框自动充满客户区? 如何控制控件的前后位置关系? (100分)我copy了一段滚动的代码,怎么就是调试不通啊!帮忙啊! 用query读娶access里的“温度”字段数据怎么不行? KV2003,的问题 大家给点建议关于户籍方面的数据库系统的投计! SQL求正解 请教一个简单问题:请问哪里有lzw算法的详细介绍?压图片可以用这个算法么?有没有lzrw算法! 求一考试座位编排算法 网络中传输的粘滞问题?(在线等) word到底是编译器还是编辑器 vb程序的帮助有什么软件可以写? PlaceHolder问题?? 绝对是问题,我是HOOKAPI来拦截REG注册表的函数,但是....... 各位高手,谁对nil有研究 Windows - 延缓写入失败是种什么错误?我的机器总是出现这样的问题,重装了还是一样 怎样改变菜单的颜色 各位,提点意见哈 command 按纽 上的字怎么设置成红色? 喜欢C++的菜鸟请进。。。。。。。 Tomcat 4.1 和 Apache 2 的整合? ★★★寻找两幅图片,100分相送★★★ 快帮看看!简单的向数据库添加数据的问题我都不能解决???? 数据库连接相关的问题 请教有关加密事宜 各位,提点意见啊 超菜鸟的问题 两个入门级问题,都来看看? 给大家放松娱乐一下,来者有分啊 问个简单问题:Winsock控件和Socket类有什么区别,他们各有什么特点? 列表控件的项目能不能是另外的一些控件? KDE进不去了!进去是灰色屏幕!咋办? 班级欲举行以“中学生是否需要见义勇为”为主题的辩论会你做正方辩手,你将如何陈述观点? 如果我相信上帝,那我损失了什么?从前俄国有个“无神论”的学者.一天,他在某大会场向人们讲上帝绝对不如果我相信上帝,那我损失了什么?后面的不要了 我觉得我信主耶稣,不会失去什么,我 每12袋牛奶装一箱没有剩余,说明牛奶的袋数是多少的倍数 有哪些事是违反努力奋斗的?还有我们班要开辩论赛,请问如果你的主题是 初中生无需努力奋斗 该怎么说呢?请在8:40之前回答, 诺贝尔生理.医学.化学奖得主,他们是信仰上帝或唯心论唯物论还是无神论? 古代参与作战的动物有什么?7个 曾参烹彘练习题 解释下列加点字,并指出其他含义,举例说明,注明出处.子而不信(加点子“信”)其母,非所以成教也 含义:________他意_______ 例句____________ 出处:________ 那一句是《琵琶行》全诗的主旨句,更是使人与琵琶女感情的共鸣 左右结构.左边一个豺去掉才,右边一个百是什么字 曾参烹彘子而不信其母,非所以成教也信 含义:他义:例句:出处:如以本文为材料写一则议论性片段,可提炼哪些观点?1、 2、3、4、 求德语翻译,不要软件翻译的.Sehr geehrter Kunde,Ihre Bestellung mit der Nr 48815 bei apothekenbote.at wurde heute zum Versand gebracht.Anbei erhalten Sie die Rechnung vorab. 怎么样才能认识到自己 曾参烹彘里面所有之的解释月完整越好快 德语翻译:谢谢你为我做的一切 (不要用翻译工具) 把《陈嘉庚》这篇文章分成三段,再把第二段分成3层,并写出层意 1.已知集合A={x|x^2-3x+2=0},B={x|ax^2+2ax-5=0},求实数a的取值范围.2.已知全集U={1,2,3,4,5},A=={x|x^2-5x+q=0}且A≠空集,A包含于U,求CuA及q. 英语翻译Always disconnect the appliance from the supply if it is left unattended and before assembling,disassembling or cleaning.This appliance shall not be used by children.Keep the appliance and its cord out of reach of children.Appliances can 郑人买履 1.按照量尺码,买鞋和对话 把文章分成三层,用/在文中标明,并写出层意.2.请你对这个买鞋的人说几句话.古时候,郑国有个人想买一双新鞋.他在家比着自己的脚量了个尺码.这个人急忙 高一的两道数学集合题!一A={a|a=n的平方+1 n属于正整数}问 3 是否属于A 10 是否属于A k的平方-4k+5 是否属于A二M={y|y=8/x+3 x属于整数 y属于整数}用列举法表示:用描述法表示x,y轴上的点的集合: 谁相信无神论 你是无神论还是有神论昨天看来~耶稣基督~他说他是上帝~被钉上十字架~死后三天~复活~真是复活了~最后还升天了~把我这个无神论吓了一跳~到底~这个世上有没神话般的人存在 他( )节省下自己的零花钱,(  )靠帮邻居干活来凑足这笔钱.填关联词 你相信无神论吗 校园的草坪上立了许多警示牌,但还有人乱踏草坪,有什么妙法解决这一问题 他只有节省下自己的零花钱,才肯帮邻居干活来凑足这笔钱.怎样改 腊八粥 阅读题腊 八 粥冰 心从我能记事的日子起,我就记得每年农历十二月初八,母亲就给我们煮腊八粥.这腊八粥是用糯米、红糖和十八种干果掺在一起煮成的.干果里大的有红枣、桂圆、核 地震 预兆 兔子我家只有只兔子.详细点啊 辩论!狭路相逢勇者胜!相关论点 狭路相逢勇者(智者)胜,我放观点是勇者!我觉得智者的观点可以有很多,可是勇者比较难!所以需要一些好的立论观点!最好也给我讲一些实际例子或者典故来 他( )节省下自己的零花钱,( )靠帮邻居干活来凑这笔钱填关联词 曾参烹彘的解释作业上有这一篇古文看不懂,还有我的积分是负的, 请问广州那里有给鹦鹉看病的地方?兽医一般都不看这么小的动物 有一首歌,两个字的,后面一个是站字,我忘了前面个字是什么了 国外的科学家是信科学还是信上帝?详情如题 急求“狭路相逢勇者胜”的辩论词最好是长一点的! 有首歌忘记名字了,最后两个字是春~天如题 信上帝的人多还是信科学的人多?宇宙是上帝创造的吗如果上帝存在,那又是哪位把他给捏造出来的.一百年前,很多星星还没发现,于是有人说这些星星不存在,再今天看来他们很愚蠢今天,又有人 琵琶行中琵琶女的演奏分为几个层次?可以体会到琵琶女怎么样的感情变化 求表达思念的句子. 什么动物能吃点大象?3Q.. 《琵琶行》中琵琶女的演奏过程分几个层次?从中能体会到琵琶女怎样的感情变化? 闰土和鲁迅的童年对比反映了封建社会的什么 什么动物可以贴在墙上,老虎,狮子,大象,还是?3Q “参观博物馆,使我增长了许多知识”这个病句怎么改啊? 点明《琵琶行》与《老残游记》写作上的不同 如何画海滩 已知A={1,1+X,1+2X},B={1,Y,Y的平方},且A=B.求实数X,Y等于几 《故乡的桂花雨》的主题是什么? 有四头大象在并排走,前面有堵墙,第一头大象撞上去了,打一海里的动物.3Q 已知集合U={1,2,3,4,5,6,7,8,9,10},A、B是U的两个子集,且满足A∩(B在U中的补集)={1,2,3},B∩(A在U中的补集)={7,8,9},(B在U中的补集)∩(A在U中的补集)={5,10}求集合A,B 闰土是鲁迅小时候最要好的朋友,他们只知有深厚的友谊.文中的“我”就是鲁迅.《少年闰土》这篇课文.闰土是鲁迅小时候最要好的朋友,他们只知有深厚的友谊.文中的“我”就是鲁迅.《少年 如果你在沙滩上,你会画什么呢?请写一写你的想法吧! where is he 的意思紧急! 以自己的实践为主题的心得体会要求写一篇以自己的实践经历为主题的心得体会. 画在沙滩上的地图 被海风安抚 留下的脚步 埋在海底深处是什么意思 兽医需要接触哪些动物 三下乡社会实践心得大约800字左右~ 商店有4箱牛奶,如果从每箱中取出12袋,那么4个箱子里剩下牛奶的袋数正好等于原来两箱牛奶的袋数.求原来每箱装了多少袋牛奶? where is he 听说马克思是撒旦教徒,抛出无神论,让人背弃上帝的,真的吗? 用两箱货车运牛奶,甲车牛奶箱数的3/4正好等于乙车牛奶箱数的5/6.已知乙车有180箱,甲车有多少箱谢谢了 环保税引发民众暴力抗争 法国政府宣布农业主产区生产积极性不高 农业干部“黎巴嫩拒绝叙利亚化学武器进入其领土伦敦股市《金融时报》100种股票平均王正伟访问巴基斯坦德国法兰克福股市DAX指数29日上涨厄瓜多尔欲向斯诺登提供政治避难粮食主产区财政紧张陷怪圈:产粮越多经英国将发行伊斯兰债券 吸引中东投资者美国1名店员遭劫匪枪击 胸前手机挡下英国将发行伊斯兰债券 吸引中东投资者“今日中国 中国电影周”于曼谷开幕法国巴黎CAC40股指29日上涨英国计划发行2亿英镑伊斯兰债券NBA新赛季大幕正式拉开 各路豪强谁NBA新赛季球星篇:科比状态成疑 魔联合国官方微博发布反战视频 吁挽救叙叙利亚副总理贾米勒被解职“丝绸之路”国际研讨会在索非亚举行联合国对黎巴嫩北部教派冲突深表不安24省区市前三季度城镇居民收入出炉 法国青年从巴黎骑单车去中国 纪念中法2013“港”你知香港销毁2万只家禽 暂停活家禽交易2“金鱼去哪了”之快递变脸埃神:巴西外援助力中超崛起 新赛季恒百搭毛线帽俏皮出街内地游客赴港前须先确定住宿前海南沙横琴建部际联席会议制2013“港”你知卡丁车场旁违建羽毛球馆特首今起离港休假情·寻巧克力上步码头用地调整为居住学校用地2013年广西生产总值超1.4万亿元台官方:日本修教科书无法改变钓鱼岛属柳州:老人们背石上山修路 \"愚公\市民驾车游玩请注意出行路线 部分景区两男子酒后斗殴引发命案 凶手向警方自南宁:干燥温暖天气贯穿春节长假 市民五旬男子买假彩票中假奖 兑奖不成挥斧刚赶走盗贼又招来歹徒打砸 事发南宁青
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘