Visual Basic 6.0 사용자를 위한 Line 컨트롤

업데이트: 2007년 11월

Visual Basic 2008에는 Visual Basic 6.0의 Line 컨트롤에 해당하는 요소가 없지만 그래픽 메서드를 사용하여 동일한 결과를 얻거나 선택적 Visual Basic Power Packs의 LineShape 컨트롤을 사용할 수 있습니다.

개념적 차이

Visual Basic 6.0에서 Line 컨트롤은 디자인 타임에 폼에서 선을 쉽게 그릴 수 있는 방법을 제공했습니다. Line 컨트롤은 Windows 핸들이 없는 "단순 컨트롤"로 HWnd라고도 합니다.

Visual Basic 2008에는 Line 컨트롤에 해당하는 요소가 없으며 간단한 컨트롤도 더 이상 지원되지 않습니다. 그러나 디자인 타임이나 런타임에 여러 가지 방법으로 폼에 선을 그릴 수 있습니다.

참고:

선택적 Visual Basic Power Packs 컨트롤로는 Line 및 Shape 컨트롤 대신 사용할 수 있는 LineShape, OvalShape 및 RectangleShape 컨트롤이 있습니다. 이러한 컨트롤은 Visual Basic 6.0의 Line 및 Shape 컨트롤과 동일한 기능을 수행하는 동시에 그라데이션 채우기, 런타임 선택, 런타임 이벤트 등의 새로운 기능도 제공합니다.

Visual Basic Power Packs는 MSDN 웹 사이트의 Microsoft Visual Basic 2005 Power Packs 페이지에서 다운로드할 수 있습니다.

디자인 타임에서는 Label 컨트롤을 추가하고, Text 속성을 빈 문자열로 설정하고, BorderStyle 속성을 None으로 설정하고, Width 또는 Height 속성을 1로 설정하여 폼에 세로 선이나 가로 선을 그릴 수 있습니다.

런타임에서는 새 Graphics 개체를 만들고 해당 메서드를 호출하여 폼의 Paint 이벤트 처리기에서 세로 선, 가로 선 또는 대각선을 그릴 수 있습니다.

Visual Basic 6.0에서는 컨테이너에 Line 컨트롤을 추가하는 방법으로 Line 컨트롤을 사용하여 PictureBox 또는 Frame 컨트롤 같은 컨테이너 컨트롤의 맨 위에 선을 그릴 수 있었습니다.

Visual Basic 2008에서는 컨테이너 컨트롤의 Paint 이벤트에서 DrawLine 메서드를 호출하여 동일한 효과를 얻을 수 있습니다.

Line 컨트롤에 대한 코드 변경 사항

다음 예제에서는 Visual Basic 6.0의 코딩 기술과 Visual Basic 2008의 코딩 기술이 어떻게 다른지 보여 줍니다.

가로 선 또는 세로 선 그리기

다음 코드에서는 런타임에 가로 선 또는 세로 선을 폼에 그리는 방법을 보여 줍니다. Visual Basic 6.0 예제에서는 Line 컨트롤을 사용하고, 디자인 타임에 두 개의 Line 컨트롤이 추가된 것으로 가정합니다. Visual Basic 2008 예제에서는 Label 컨트롤과 Graphics 메서드를 사용하는 두 가지 방법을 보여 줍니다.

참고:

Visual Basic 6.0의 기본 측정 단위는 트윕이고 Visual Basic 2008의 기본 측정 단위는 픽셀입니다.

' Visual Basic 6.0
Private Sub Form_Load()
    ' Draw a horizontal line 200 twips from the top of the form.
    Line1.X1 = 0
    Line1.X2 = Me.Width
    Line1.Y1 = 200
    Line1.Y2 = 200
    Line1.BorderColor = vbRed
    Line1.BorderWidth = 1
    ' Draw a vertical line 200 twips from the left of the form.
    Line1.Y1 = 0
    Line1.Y2 = Me.Height
    Line1.X1 = 200
    Line1.X2 = 200
    Line1.BorderColor = vbBlue
    Line1.BorderWidth = 1
' Visual Basic
' Using Label controls.
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
    Dim Line1 As New System.Windows.Forms.Label
    Dim Line2 As New System.Windows.Forms.Label
    ' Draw a horizontal line 14 pixels from the top of the form.
    Line1.Location = New System.Drawing.Point(0, 14)
    Line1.Size = New System.Drawing.Size(Me.Width, 1)
    Line1.BorderStyle = BorderStyle.None
    Line1.BackColor = System.Drawing.Color.Red
    Line1.Text = ""
    Controls.Add(Line1)
    ' Draw a vertical line 14 pixels from the left of the form.
    Line2.Location = New System.Drawing.Point(14, 0)
    Line2.Size = New System.Drawing.Size(1, Me.Height)
    Line2.BorderStyle = BorderStyle.None
    Line2.BackColor = System.Drawing.Color.Blue
    Line2.Text = ""
    Controls.Add(Line2)
End Sub
' Visual Basic
    ' Using Graphics methods.
Private Sub Form1Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    ' Draw a horizontal line 28 pixels from the top of the form.
    e.Graphics.DrawLine(Pens.Red, 0, 28, Me.Width, 28)
    ' Draw a vertical line 28 pixels from the left of the form.
    e.Graphics.DrawLine(Pens.Blue, 28, 0, 28, Me.Height)
End Sub

대각선 그리기

다음 코드에서는 런타임에 대각선을 폼에 그리는 방법을 보여 줍니다. Visual Basic 6.0 예제에서는 Line 컨트롤을 사용하며, 디자인 타임에 Line 컨트롤이 추가된 것으로 가정합니다. Visual Basic 2008 예제에서는 Graphics 메서드를 사용합니다.

참고:

Visual Basic 6.0의 기본 측정 단위는 트윕이고 Visual Basic 2008의 기본 측정 단위는 픽셀입니다.

' Visual Basic 6.0
Private Sub Form_Load()
    ' Draw a diagonal line from the top left to the lower right.
    Line1.X1 = 0
    Line1.X2 = Me.ScaleWidth
    Line1.Y1 = 0
    Line1.Y2 = Me.ScaleHeight
    Line1.BorderColor = vbBlack
    Line1.BorderWidth = 1
End Sub
' Visual Basic
Private Sub FormPaint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    ' Draw a diagonal line from the top left to the lower right.
    e.Graphics.DrawLine(Pens.Black, 0, 0, Me.ClientSize.Width, _
    Me.ClientSize.Height)
End Sub

업그레이드 참고 사항

Visual Basic 6.0 응용 프로그램을 업그레이드할 경우 Line 컨트롤을 참조하는 코드는 선택적 Visual Basic Power Packs 라이브러리에 포함된 LineShape 컨트롤을 사용하도록 업그레이드됩니다. 업그레이드할 때 Line 컨트롤에 대한 참조가 발견되면 경고가 표시되고, 이 경우 라이브러리를 설치하고, 업그레이드한 프로젝트에서 이 라이브러리를 참조해야 합니다.

Visual Basic Power Packs는 MSDN 웹 사이트의 Microsoft Visual Basic 2005 Power Packs 페이지에서 다운로드할 수 있습니다.

참고 항목

개념

Visual Basic 6.0 사용자를 위한 그래픽