VB3 Como definir paisagem ou retrato para impressora de aplicativo do VB

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

Neste artigo

Sumário

Algumas impressoras oferecem suporte a alteração a orientação da saída de papel para paisagem. Com a função Escape() de API do Windows, você pode alterar as configurações da impressora para paisagem ou retrato. Além disso, se você tiver um dos seguintes produtos, você pode usar a caixa de diálogo comuns para permitir que usuários definir o modo dentro de um aplicativo do Visual Basic:
  • Versão 1.0 do Visual Basic Professional Toolkit
  • Professional Edition do Visual Basic versão 2.0
  • Padrão ou Professional Edition do Visual Basic versão 3.0
Abaixo está um exemplo mostrando como invocar a função de Windows API Escape() do Visual Basic.

Observação: A função de Windows API Escape() é fornecida no Windows versões 3.0 e 3.1 para compatibilidade com versões anteriores do Microsoft Windows. Aplicativos devem para usar as funções GDI DeviceCapabilities() e ExtDeviceMode() em vez da função Escape(), mas nem DeviceCapabilities() ExtDeviceMode() pode ser chamado diretamente a partir do Visual Basic. Isso ocorre porque eles são exportados pelo driver da impressora, não pelo GDI do Windows. A única maneira de usar ExtDeviceMode() ou DeviceCapabilities() no Visual Basic é criar uma DLL e chamá-los de lá.

Mais Informações

Normalmente, saída para a impressora está no modo retrato, saída é impressa horizontal entre a dimensão mais estreita de um papel. No modo paisagem, a saída é impressa horizontalmente na dimensão de maior do papel.

Você pode usar a função Escape() para alterar a orientação da impressora, passando GETSETPAPERORIENT como um argumento. Quando você imprime um texto para a impressora inicialmente, Visual Basic usa a orientação selecionada no momento. Enviando a função Escape() não terão efeito até que você executar um Printer.EndDoc. Depois de executar um Printer.EndDoc, saída serão impressas na orientação de que você selecionou.

Para determinar se a impressora oferece suporte a modo paisagem, faça o seguinte:
  1. Do Gerenciador de programas do Windows, execute o painel de controle.
  2. No painel de controle, selecione o ícone ' Impressoras '.
  3. Na caixa de diálogo impressoras, escolha o botão Configurar.
  4. Caixa de diálogo Configurar irá conter uma opção para a orientação paisagem se paisagem é suportada em sua impressora.

Como verificar a orientação atual da impressora



Para verificar a orientação atual da impressora, use o código a seguir:

' Digite a seguinte instrução Declare como, uma única linha:
Declare Function Escape% Lib "GDI" (ByVal hDC%, ByVal nEsc%, ByVal nLen%,
   lpData As Any, lpOut As Any)

Sub Command1_Click ()
   Const PORTRAIT = 1
   Const LANDSCAPE = 2
   Const GETSETPAPERORIENT = 30

   Dim Orient As OrientStructure
   Printer.Print ""
   Orient.Orientation = LANDSCAPE
   x% = Escape(Printer.hDC, GETSETPAPERORIENT, Len(Orient), "", Null)
   Print x%
End Sub
				

Como alterar a orientação de impressora para paisagem

O exemplo a seguir abaixo demonstra como alterar a orientação de impressora para paisagem. Observe que sua impressora deve oferecer suporte ao modo paisagem para que esses comandos tem qualquer efeito.
  1. Inicie um novo projeto no Visual Basic (ALT, F, N). O Form1 é criado por padrão.
  2. Adicione um botão de comando (Command1) ao Form1.
  3. Adicione o código a seguir ao módulo global:
       Type OrientStructure
          Orientation As Long
          Pad As String * 16
       End Type
       ' Enter the following Declare statement on one, single line:
       Declare Function Escape% Lib "GDI" (ByVal hDc%, ByVal nEsc%,
                   ByVal nLen%, lpData As OrientStructure, lpOut As Any)
    
    						
  4. Adicione o seguinte código ao procedimento de evento Command1_Click do botão Command1:

   Sub Command1_Click ()
      Const PORTRAIT = 1
      Const LANDSCAPE = 2
      Const GETSETPAPERORIENT = 30

      Dim Orient As OrientStructure

      '* Start the printer
      Printer.Print ""

      '* Specify the orientation
      Orient.Orientation = LANDSCAPE

      '* Send escape sequence to change orientation
      x% = Escape(Printer.hDC, GETSETPAPERORIENT,
                Len(Orient), Orient, NULL)
      '* The EndDoc will now re-initialize the printer
      Printer.EndDoc

      Printer.Print "Should print in landscape mode"
      Printer.EndDoc
   End Sub
				

Propriedades

ID do artigo: 80185 - Ú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 kbcode kbprint KB80185 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: 80185
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