WindowFromPhysicalPoint
es nuevo con Vista. Su documentación es casi idéntica a WindowFromPoint
. ¿Cual es la diferencia? Ambos parecen tomar un punto absoluto (desplazamiento del origen de la pantalla) y devolver el más alto (orden Z) HWND
que contiene el punto.¿Cuál es la diferencia entre WindowFromPhysicalPoint y WindowFromPoint?
Respuesta
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.
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.
- 1. ¿Cuál es la diferencia entre {0} y ""?
- 2. Cuál es la diferencia entre = y: =
- 3. ¿Cuál es la diferencia entre .ToString (+) y ""
- 4. Cuál es la diferencia entre $ (...) y `...`
- 5. ¿cuál es la diferencia entre:.! y: r !?
- 6. ¿Cuál es la diferencia entre ".equals" y "=="?
- 7. ¿Cuál es la diferencia entre dict() y {}?
- 8. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 9. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 10. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 11. ¿Cuál es la diferencia entre + = y = +?
- 12. ¿Cuál es la diferencia entre " " y ""?
- 13. Cuál es la diferencia entre $ y jQuery
- 14. OpenGL (ES) - ¿Cuál es la diferencia entre frustum y orto?
- 15. Cuál es la diferencia entre la función() {}() y la función() {}()
- 16. ¿Cuál es la diferencia entre la abstracción y la encapsulación?
- 17. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 18. ¿Cuál es la diferencia entre la vinculación estática y dinámica?
- 19. ¿Cuál es la diferencia entre la sección .got y .got.plt?
- 20. ¿Cuál es la diferencia entre el colado y la coerción?
- 21. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 22. ¿Cuál es la diferencia entre el casting y la conversión?
- 23. ¿Cuál es la diferencia entre WPF y la aplicación Silverlight?
- 24. ¿Cuál es la diferencia entre uno mismo y la ventana?
- 25. ¿Cuál es la diferencia entre CookieContainer y la colección Response.Cookies?
- 26. ¿Cuál es la diferencia entre la relación Composición y Asociación?
- 27. ¿cuál es la diferencia entre el material y la textura?
- 28. ¿Cuál es la diferencia entre el marco y la arquitectura?
- 29. ¿Cuál es la diferencia entre la carpeta vim72 y vimfiles?
- 30. ¿cuál es la diferencia entre la lex y yacc