2010-12-01 10 views

Respuesta

3

http://msdn.microsoft.com/en-us/library/ms633533(VS.85).aspx

Windows Vista introduce el concepto de coordenadas físicas. Desktop Window Manager (DWM) escala ventanas que no son puntos por pulgada (ppp) cuando la pantalla tiene una resolución alta de ppp. La ventana que se ve en la pantalla corresponde a las coordenadas físicas. La aplicación continúa trabajando en el espacio lógico. Por lo tanto, la vista de la ventana de la aplicación es diferente de la que aparece en la pantalla. Para ventanas escaladas, las coordenadas lógicas y físicas son diferentes.

0

WindowFromPhysicalPoint funciona en physical coordenadas de pantalla, mientras que WindowFromPoint funciona con logical. Para entender los diferentes read this page.

TL; DR; la versión sería:

Supongamos que diseña un cuadro de diálogo con un botón en las coordenadas (100, 48). Cuando este cuadro de diálogo se muestra con los 96 ppp predeterminados, el botón se encuentra en las coordenadas físicas de (100, 48). A 120 ppp, se encuentra en las coordenadas físicas de (125, 60). Pero las coordenadas lógicas son las mismas en cualquier configuración de ppp: (100, 48).

Así que a menos que el diseño de su aplicación para ser DPI aware me gustaría seguir con logical coordenadas, ya que la mayoría de las API y los mensajes de ventana operan en logical espacio. Otra razón para usar las coordenadas logical es hacer que su aplicación sea compatible con versiones anteriores de Windows XP.

Cuestiones relacionadas