Compartir a través de


Control Line para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

El control Line de Visual Basic 6.0 no tiene ningún equivalente en Visual Basic 2008. Sin embargo, puede usar los métodos gráficos para lograr los mismos resultados, o puede usar el control LineShape opcional de Visual Basic Power Packs.

Diferencias conceptuales

En Visual Basic 6.0, el control Line proporciona una medio sencillo para dibujar líneas en un formulario en tiempo de diseño. El control Line es un "control ligero", es decir, no tiene un identificador de Windows, lo que también se denomina HWnd.

En Visual Basic 2008, no existe ningún equivalente para el control Line y ya no se admiten controles ligeros. Sin embargo, existen modos para dibujar líneas en un formulario tanto en tiempo de diseño como en tiempo de ejecución.

Nota:

Los controles opcionales de Visual Basic Power Packs incluyen los controles LineShape, OvalShape y RectangleShape que se pueden usar para reemplazar los controles Line y Shape. Además de duplicar el comportamiento de los controles Line y Shape de Visual Basic 6.0, estos controles agregan nuevas funciones. Estas funciones incluyen rellenos degradados, selección en tiempo de ejecución y eventos en tiempo de ejecución.

Puede descargar Visual Basic Power Packs desde la página Microsoft Visual Basic 2005 Power Packs en el sitio web de MSDN.

En tiempo de diseño, para dibujar una línea vertical u horizontal en un formulario, puede agregar un control Label y establecer la propiedad Text en una cadena vacía, la propiedad BorderStyle en None y la propiedad Width o Height en 1.

En tiempo de ejecución, para dibujar líneas verticales, horizontales o diagonales en un controlador de eventos Paint de un formulario, puede crear un nuevo objeto Graphics y llamar a sus métodos.

En Visual Basic 6.0, puede usar un control Line para dibujar una línea en la parte superior de un control contenedor, como un control PictureBox o Frame y agregar un control Line al contenedor.

En Visual Basic 2008, puede lograr el mismo efecto llamando al método DrawLine en el evento Paint del control contenedor.

Cambios de código para el control Line

Los siguientes ejemplos muestran las diferencias en las técnicas de codificación entre Visual Basic 6.0 y Visual Basic 2008.

Dibujar líneas horizontales o verticales

El código siguiente muestra cómo se dibujan líneas horizontales y verticales en un formulario en tiempo de ejecución. En el ejemplo de Visual Basic 6.0, se usa el control Line; se presupone que los dos controles Line se agregaron en tiempo de diseño. El ejemplo de Visual Basic 2008 muestra dos métodos que usan un control Label, además de los métodos Graphics.

Nota:

En Visual Basic 6.0 la unidad de medida predeterminada son los twips; en Visual Basic 2008 son los píxeles.

' 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

Dibujar una línea diagonal

El código siguiente muestra cómo dibujar una línea diagonal en un formulario en tiempo de ejecución. En el ejemplo de Visual Basic 6.0, se usa el control Line; se presupone que se ha agregado un control Line en tiempo de diseño. El ejemplo de Visual Basic 2008 usa los métodos Graphics.

Nota:

En Visual Basic 6.0 la unidad de medida predeterminada son los twips; en Visual Basic 2008 son los píxeles.

' 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

Notas de actualización

Cuando se actualiza una aplicación de Visual Basic 6.0, se actualiza el código que hace referencia al control Line para usar el control LineShape que está incluido en la librería opcional Visual Basic Power Packs . Si se encuentra una referencia al control Line durante la actualización, se emite una advertencia y tendrá que instalar la librería, y hacer referencia a ella desde el proyecto actualizado.

Puede descargar Visual Basic Power Packs desde la página Microsoft Visual Basic 2005 Power Packs en el sitio web de MSDN.

Vea también

Conceptos

Gráficos para usuarios de Visual Basic 6.0