ACC2000: Cómo convertir Twips a píxeles

Seleccione idioma Seleccione idioma
Id. de artículo: 210590 - Ver los productos a los que se aplica este artículo
Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

Este artículo hace referencia a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp).

Expandir todo | Contraer todo

Resumen

Puesto que Microsoft Access almacena las propiedades de dimensión y la ubicación como twips, en algunos casos quizás tenga que convertir twips a píxeles, como cuando se llama a una función de API de Windows. En este artículo se muestra cómo hacerlo.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Más información

Puede utilizar la siguiente función ConvertTwipsToPixels() para convertir twips a píxeles. Tenga en cuenta que píxeles no son siempre cuadrados (el alto y ancho no son el mismo); por lo tanto, es necesario pasar la "dirección" que desee utilizar (horizontal o vertical).
  1. Cree un nuevo módulo y escriba lo siguiente en la sección Declaraciones:
    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 : se pueden tener algunas funciones de API de Microsoft Windows definidas en una biblioteca Microsoft Access existente; por lo tanto, las declaraciones pueden estar duplicados. Si recibe un mensaje de error de nombre de procedimiento duplicados, quite o comente la instrucción de declaraciones en el código.
  2. Escriba el siguiente procedimiento:
    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 llamar a esta función, pase el número de twips que desea convertir y otro parámetro que indica la medida horizontal o vertical (0 para horizontal, distinto de cero para vertical). El siguiente es una llamada de ejemplo:
Function ShowConvert()
   Dim lngOldTwips As Long
   lngOldTwips = 2377
   ShowConvert = ConvertTwipsToPixels(lngOldTwips, 0)
End Function
				

Propiedades

Id. de artículo: 210590 - Última revisión: jueves, 23 de junio de 2005 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Access 2000 Standard Edition
Palabras clave: 
kbmt kbinfo kbprogramming KB210590 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 210590

Enviar comentarios

 

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