Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/11/2010, 15:33
aika
 
Fecha de Ingreso: septiembre-2007
Mensajes: 7
Antigüedad: 16 años, 8 meses
Puntos: 1
Información Respuesta: saber la resolucion de la pantalla en VB6?

Cita:
Iniciado por Keysher Ver Mensaje
Umm, ya sé que ya está resuelto lo de la resolución, pero no sería más fácil un screen.width o screen.height?¿?¿?

esto lo dá en twips, pero si lo divides entre quince te dá los pixels.
No, no, no.
Un píxel es un punto más o menos gordo en función de la resolución de pantalla, por tanto, la relación entre píxel y twips o entre píxel y punto o entre píxel y pulgada no es siempre la misma.
Este código te permitirá saber, en cada momento lo gordo (ancho y alto en twips) que es tu píxel:

Código:
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 HWND_DESKTOP As Long = 0
Const LOGPIXELSX As Long = 88
Const LOGPIXELSY As Long = 90

'--------------------------------------------------
Function TwipsPerPixelX() As Single
'--------------------------------------------------
'Devuelve la anchura de un píxel expresada twips.

  Dim lngDC As Long
  lngDC = GetDC(HWND_DESKTOP)
  TwipsPerPixelX = 1440& / GetDeviceCaps(lngDC, LOGPIXELSX)
  ReleaseDC HWND_DESKTOP, lngDC
End Function

'--------------------------------------------------
Function TwipsPerPixelY() As Single
'--------------------------------------------------
'Devuelve la altura de un píxel expresada twips.

  Dim lngDC As Long
  lngDC = GetDC(HWND_DESKTOP)
  TwipsPerPixelY = 1440& / GetDeviceCaps(lngDC, LOGPIXELSY)
  ReleaseDC HWND_DESKTOP, lngDC
End Function