加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vb里控件自动调整大小,以自动适应窗口大小的变化

(2008-07-06 18:12:59)
标签:

vb

visual

basic

控件大小

窗口大小

杂谈

分类: 程序设计

代码如下:自定义ResizeInit函数和ResizeForm函数。

Private   Sub   Form_Load()  
  Call   ResizeInit(Me)  
  end   sub  
   
  Private   Sub   Form_Resize()  
  Call   ResizeForm(Me)  
  End   Sub  
   
  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  
   
  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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有