본문 바로가기
데스크탑/비주얼 베이직 6

Form_Resize 이벤트 사용하여 Form 의 컨트롤 위치 조정하기.

by 브래드.권 2009. 1. 17.



최근 나오는 왠만한 개발 툴이나 Visual Studio .NET 에서는 Form 의 control 들의 위치가 동적으로 바뀔수 있도록 지원이 됩니다. 예를 들어 한 폼에 버튼이나 메시지박스같은 컨트롤들이 있을 때 폼의 크기를 사용자가 임의로 늘리거나 줄일 수 있는데 이때 컨트롤들도 폼 크기에 맞춰서 움직이는 경우죠. Visual Basic 6 에서는 따로 이런 기능들을 제공해 주지는 않지만 Form_Resize 이벤트를 제공하므로 이 이벤트에 해당 컨트롤들의 위치를 조정해주어야 합니다.


아래의 예제는 각각의 컨트롤들의 너비와 높이들을 현재 폼의 너비와 높이에 맞추어 조정해주고 있습니다. 계산식에 쓰여진 숫자값들은 각자 실행해보면서 맞추어 나가면 됩니다.

예제 소스)


 
Private Sub Form_Resize()

    Dim i As Integer
    
    For i = Me.TextBox1.LBound To Me.TextBox1.UBound
        Me.TextBox1(i).Width = IIf(Me.Width - 1550 > 0, Me.Width - 1550, 0)
    Next
    
    Me.txtMessage.Width = IIf(Me.Width - 400 > 0, Me.Width - 400, 0)
    Me.txtMessage.Height = IIf(Me.Height - 3900 > 0, Me.Height - 3900, 0)
    
    Me.Command1(4).Top = Me.Height - 1430
    Me.Command1(4).Left = Me.Width - 1050

End Sub