Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/10/2004, 10:40
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años
Puntos: 7
En este caso sí.
Los métodos ScaleX y ScaleY te permiten realizar rápidamente conversiones entre las escalas definidas en VB:

Pixels en un centímetro -> Me.ScaleX(1, vbCentimeters, vbPixels)
Milímetros en un pixel -> Me.ScaleX(1, vbPixels, vbMillimeters)
Ancho de la pantalla en centímetros -> Me.ScaleX(Screen.Width, vbTwips, vbCentimeters)

Como ya sabes, VB mide todo en twips por defecto; pero las funciones de la API esperan pixels... Con ScaleX y ScaleY, puedes transformar rápidamente los valores (aunque yo prefiero, cambiar el modo de la escala)

Para obtener el valor en pixels del ancho de un formulario podrias hacer esto:

Ancho = Me.ScaleWidth / Screen.TwipsPerPixelX

Pero también esto:

Ancho = Me.ScaleX(Me.ScaleWidth, vbTwips, vbPixels)

Saludos.