ACC2000: Como converter Twips Pixels

Traduções de Artigos Traduções de Artigos
Artigo: 210590 - Ver produtos para os quais este artigo se aplica.
Avançado: Requer conhecimentos avançados sobre codificação, interoperabilidade e multi-utilizador.

Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb) e a um projecto do Microsoft Access (.adp).

Expandir tudo | Reduzir tudo

Sumário

Uma vez que o Microsoft Access armazena as propriedades de dimensão/localização como twips, em alguns casos poderá ter de converter twips pixels, tal como quando chamar uma função da API do Windows. Este artigo mostra como efectuar este procedimento.

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Mais Informação

Pode utilizar a seguinte função ConvertTwipsToPixels() converter twips para pixels. Tenha em atenção que pixels não estão sempre ao quadrado (altura e largura não são os mesmos); por conseguinte, é necessário passar a "direcção" pretendida para utilizar (horizontal ou vertical).
  1. Crie um novo módulo e escreva o seguinte na secção Declarations:
    Option Explicit
    
    Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _
      ByVal hdc As Long) As Long
    Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _
      ByVal nIndex As Long) As Long
    
    Const WU_LOGPIXELSX = 88
    Const WU_LOGPIXELSY = 90
    						
    Nota : poderá ter algumas funções da API do Microsoft Windows definidas numa biblioteca existente do Microsoft Access; por conseguinte, as declarações podem ser duplicados. Se receber uma mensagem de erro de nome de procedimento duplicados, remover ou comentar a instrução de declarações no seu código.
  2. Escreva o seguinte procedimento:
    Function ConvertTwipsToPixels (lngTwips as Long, _
       lngDirection as long) As Long
    
       'Handle to device
       Dim lngDC as long                        
       Dim lngPixelsPerInch as Long
       Const nTwipsPerInch = 1440
       lngDC = GetDC(0)
       
       If (lngDirection = 0) Then       'Horizontal
          lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSX)
       Else                            'Vertical
          lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSY)
       End If
       lngDC = ReleaseDC(0, lngDC)
       ConvertTwipsToPixels = (lngTwips / nTwipsPerInch) * lngPixelsPerInch
    
    End Function
    					
Para chamar esta função, de passar o número de twips que pretende converter e outro parâmetro que indica a medida horizontal ou vertical (0 para horizontal, diferente de zero para vertical). Segue-se uma chamada de exemplo:
Function ShowConvert()
   Dim lngOldTwips As Long
   lngOldTwips = 2377
   ShowConvert = ConvertTwipsToPixels(lngOldTwips, 0)
End Function
				

Propriedades

Artigo: 210590 - Última revisão: 23 de junho de 2005 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbinfo kbprogramming KB210590 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 210590

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