Como desenhar uma elipse com círculo Statement em VB

Traduções deste artigo Traduções deste artigo
ID do artigo: 83906 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como usar a instrução de círculo para desenhar uma elipse de altura e largura especificada calculando o raio e taxa de proporção apropriada para as dimensões da elipse e as unidades de medida, determinada pela propriedade ScaleMode.

Mais Informações

A instrução de círculo leva dois argumentos que determinam a forma de elipse desenhado: o raio e a taxa de proporção. Por exemplo:
   Circle (x, y), radius,,,, aspect
				
a taxa de proporção é o y-raio dividido pelo x-raio da elipse desenhada. Uma taxa de proporção de 1,0 (o padrão) produz um círculo perfeito (não elíptico). Se a taxa de proporção é menor do que um, o argumento de raio Especifica o x-raio. Se a taxa de proporção for maior do que um, o argumento de raio Especifica o raio de y. O raio x e y-raio são medidos em unidades do eixo x.

Passos para criar programas de exemplo

  1. Execute o Visual Basic ou no menu ' arquivo ', escolha New Project (ALT, F, N) se o Visual Basic já estiver sendo executado. O Form1 é criado por padrão.
  2. Digite o seguinte código no procedimento de evento Form1_Click:
    Sub Form_Click ()
        Cls
    
        ' Set x-axis units different from y-axis to demonstrate
        ' that the ellipse still comes out right.
        Form1.ScaleWidth = Rnd * 100
        Form1.ScaleHeight = Rnd * 100
        Print "ScaleWidth  = "; Format$(Form1.ScaleWidth, "#")
        Print "ScaleHeight = "; Format$(Form1.ScaleHeight, "#")
    
        ' Print the dimensions of the ellipse.
        ' Draw an ellipse centered on the form and touching the
        ' borders.
        w = Form1.ScaleWidth / 2
        h = Form1.ScaleHeight / 2
        Call ellipse(Form1, w, h, w, h)
    End Sub
    						
  3. Digite o seguinte código na seção Declaração geral:
    ' ellipse(frm, x, y, w, h)
    '   Purpose
    '     Draws an ellipse on a form.
    '   Parameters
    '     frm  -- the form to draw on
    '     x, y -- specify the center of the ellipse.
    '     w, h -- specify the width and height.
    '
    Sub ellipse (frm As Form, ByVal x!, ByVal y!, ByVal w!, ByVal h!)
        Dim swt As Long    ' ScaleWidth  in twips
        Dim sht As Long    ' ScaleHeight in twips
        Dim k As Double    ' conversion factor for x-units to y-units
        Dim ar As Double   ' aspect ratio
        Dim r As Single    ' radius
        Dim save_mode As Integer   ' for saving and restoring ScaleMode
        Dim save_width As Single   ' for saving and restoring ScaleWidth
        Dim save_height As Single  ' for saving and restoring ScaleHeight
    
        ' Check arguments.
        If w <= 0 Or h <= 0 Then Stop
    
        ' Determine form dimensions in twips.
        save_mode = frm.ScaleMode  ' save Scale... properties
        save_width = frm.ScaleWidth
        save_height = frm.ScaleHeight
        frm.ScaleMode = 1          ' set units to twips
        swt = frm.ScaleWidth
        sht = frm.ScaleHeight
        frm.ScaleMode = save_mode  ' restore Scale... properties
        If frm.ScaleMode = 0 Then
            frm.ScaleWidth = save_width
            frm.ScaleHeight = save_height
        End If
    
    ' Compute conversion factor of x-axis units to y-axis units.
        k = frm.ScaleWidth / frm.ScaleHeight * sht / swt
    
    ' Compute aspect ratio and radius.
        ar = k * h / w
        If ar <= 1 Then
            r = w
        Else
            r = k * h
        End If
    
        ' Draw the ellipse.
        frm.Circle (x, y), r, , , , ar
    End Sub
    						
  4. Pressione F5 para executar o programa. Em seguida, clique no formulário.
O programa desenha uma elipse centralizado no formulário e tocar os lados do formulário. Redimensionar o formulário e/ou clique no formulário novamente para repetir a demonstração.

Propriedades

ID do artigo: 83906 - Última revisão: sexta-feira, 12 de dezembro de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 1.0 Standard Edition
Palavras-chave: 
kbmt KB83906 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 83906
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com