怎样才能使Form中的各种控件尺寸随Form的改变而改变?请给代码 谢谢 !!!

解决方案 »

  1.   

    这是"海牛猪猪"给我写的,你去参考一下吧!
    第一部分代码
    Option ExplicitPrivate Sub Form_Load()
        Dim lFormWidth As Long
        Dim lFormHeight As Long
        
        lFormWidth = Me.ScaleWidth
        lFormHeight = Me.ScaleHeight '第二步分
    Me.Command1.Tag = Me.Command1.Width / lFormWidth & "|" & Me.Command1.Height / lFormHeight
        Me.Command3.Tag = Me.Command1.Width / lFormWidth & "|" & Me.Command1.Height / lFormHeight
        Me.Command4.Tag = Me.Command1.Width / lFormWidth & "|" & Me.Command1.Height / lFormHeight
    End SubPrivate Sub Form_Resize()
        If Me.WindowState <> 1 Then
            Call ResizeControls
    End Sub
    Private Sub ResizeControls()
        Dim objC As Object
        Dim strarrK() As String
        Dim lW As Long, lH As Long 
    lW = Me.ScaleWidth
        lH = Me.ScaleHeight
        For Each objC In Me.Controls
            If TypeOf objC Is CommandButton Then
                If Len(objC.Tag) <> 0 Then
                    strarrK = Split(CStr(objC.Tag), "|")
                    objC.Width = lW * Val(strarrK(0))
                    objC.Height = lH * Val(strarrK(1))
                End If 
     Next objC
    End Sub 
    '添加四个CommandButton 
      

  2.   

    在Form_resize中进行调整,得自己写代码调整各个控件的位置
      

  3.   

    留个EMail,给你发一个控件,这个控件往窗体上一放就搞定了(运行时不显示),随着窗体大小变化自动调整每个控件位置和大小,呵呵,超级简单。
      

  4.   

    回复人: vbanddelphi(一枝梨花) 的意见就足够了,思路很明确,
    充分利用控件的tag属性希望楼主不要期望大家提供给你直接可以执行的代码,自己的程序必须要自己写,
    我们在这里讨论的关键是思路。
      

  5.   

    在Form_resize中    控件.width= Me.ScaleWidth
        控件.height= Me.ScaleHeight 
      

  6.   

    Private Sub Form_Resize()
        txtNote.Move 20, 20, Me.Width - 100, Me.Height - 200
    End Sub数字就是边距了,自己调一下就OK了
      

  7.   

    对于vbanddelphi(一枝梨花) 的意见
     我刚试了一下,效果是有一点,但总是不够完美!
     vbanddelphi(一枝梨花) ???有没有更好的意见???