Share via


Controle Shape para Usuários do Visual Basic 6.0

The Shape controle no Visual Basic 6.0 não possui nenhum equivalente Visual Basic 2008. No entanto, você pode usar Graphics métodos para obter sistema autônomo mesmos resultados, ou você podem usar o Visual Basic potência Packs OvalShape ou RectangleShape controles. Esses controles estão disponível sistema autônomo suplementos.

Diferenças Conceituais

No Visual Basic 6.0, a Shape controle oferece uma maneira fácil para desenhar retângulos, círculos e outras formas em um formulário em time de design. The Shape o controle é um leve controle, que significa que não tem um manipulador Windows, também conhecido sistema autônomo um HWnd.

In Visual Basic 2008, não há nenhum equivalente para o Shape Não há suporte para o controle e controles simplificados. No entanto, existem maneiras para desenhar formas em um formulário tanto em time de design e em time de execução.

Observação:

O Visual Basic potência Packs controles incluem LineShape, OvalShape, e RectangleShape controles que podem ser usados para substituir o Line e Shape controles. Como duplicar o comportamento do Visual Basic 6.0 de Line e Shape controles, esses controles adicionam novos recursos, inclusive preenchimentos de gradiente, executar seleção horário e executar eventos de time.

Você pode baixar o Visual Basic potência Packs do Microsoft Visual Basic 2005 potência Packs página no site da MSDN.

Em time de design, você pode desenhar uma forma quadrada ou retangular em um formulário adicionando um Label configuração e controle o Text propriedade para uma seqüência vazia, o BorderStyle propriedade para FixedSinglee o BackColor, Width, e Height para a cor desejada e dimensões.

Em time de execução, você pode desenhar retângulos, elipses e formas complexas em Paint manipulador de eventos criando um novo objeto da Graphics classe e chamar seus métodos.

No Visual Basic 6.0, você pode usar um Shape controle para desenhar uma forma de um caixa de controles sistema autônomo um PictureBox ou Frame controle adicionando um Shape controle para o recipiente.

In Visual Basic 2008, você pode obter o mesmo efeito chamando o Graphics métodos de Paint evento do controle no contêiner.

Alterações de Código para o Controle Shape

Os exemplos de código a seguir ilustram as diferenças nas técnicas de codificação entre o Visual Basic 6.0 e Visual Basic 2008.

Alterações de Código para Desenhar Formas Retangulares

O código a seguir demonstra como desenhar um retângulo preenchido num formulário em tempo de execução.No exemplo do Visual Basic 6.0, a Shape controle é usado; presumir que um Line controle foi adicionado em time de design. The Visual Basic 2008 exemplo demonstra dois métodos diferentes: usando um Label controle e uso Graphics métodos.

Observação:

No Visual Basic 6.0 , a unidade padrão de medida era twips; no Visual Basic 2008 Ela é pixels.

' Visual Basic 6.0
Private Sub Form_Load()
    ' Show a solid red rectangle 200 twips from the top left.
    Shape1.Top = 200
    Shape1.Left = 200
    Shape1.FillColor = vbRed
    Shape1.FillColor= vbFSSolid
    Shape1.BorderColor = vbRed
End Sub
' Visual Basic
' Using a Label control.
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
    Dim Shape1 As New System.Windows.Forms.Label
    ' Show a solid red rectangle 14 pixels from the top left.
    Shape1.Location = New System.Drawing.Point(14, 14)
    Shape1.Size = New System.Drawing.Size(200, 100)
    Shape1.BorderStyle = BorderStyle.None
    Shape1.BackColor = System.Drawing.Color.Red
    Shape1.Text = ""
    Controls.Add(Shape1)
End Sub
' Visual Basic
' Using Graphics methods.
Private Sub Form2_Paint(ByVal sender As Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    ' Draw a solid blue rectangle below the red rectangle.
    e.Graphics.FillRectangle(Brushes.Blue, 14, 120, 200, 100)
End Sub

Alterações de Código para Desenhar um Círculo

O código a seguir demonstra como desenhar um círculo num formulário em tempo de execução.No exemplo do Visual Basic 6.0, a Shape controle é usado; presumir que um Shape controle foi adicionado em time de design. The Visual Basic 2008 Os exemplos de uso Graphics métodos.

Observação:

No Visual Basic 6.0 a unidade de medida padrão era twips; no Visual Basic 2008 Ela é pixels.

' Visual Basic 6.0
Private Sub Form_Load()
    ' Draw a 1000 twip diameter red circle.
    Shape1.Top = 0
    Shape1.Left = 0
    Shape1.Height = 1000
    Shape1.Width = 1000
    Shape1.Shape = vbShapeCircle
    Shape1.BorderColor = vbRed
End Sub
' Visual Basic
    Private Sub Form3_Paint(ByVal sender As Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        ' Draw a 70 pixel diameter red circle.
        e.Graphics.DrawEllipse(Pens.Red, 0, 0, 70, 70)
    End Sub

Observações de Atualização

Quando um aplicativo é atualizado do Visual Basic 6.0, o código que referencia o Shape controle é atualizado para usar o OvalShape ou RectangleShape controles que estão incluídos na biblioteca do Visual Basic potência Packs. Se uma referência para o Shape controle é encontrado durante a atualização, um aviso é emitido e você terá de instalar a biblioteca e referenciá-los de seu projeto atualizado.

Você pode baixar o Visual Basic potência Packs do Microsoft Visual Basic 2005 potência Packs página no site da MSDN.

Consulte também

Conceitos

Elementos gráficos para usuários do Visual Basic 6.0