Lo que de estos se debe utilizar en función invalidaterect para refrescar mi ventana? Y ¿por qué?

InformationsquelleAutor Abzac | 2011-09-26

4 Comentarios

  1. 44

    La ventana rect incluye el área de cliente no, es decir, los bordes de la ventana, barra de título, etc. El cliente rect no.

    GetWindowRect devuelve un rect en las coordenadas de pantalla, mientras que GetClientRect devuelve un rect en coordenadas de cliente.

    InvalidateRect recibe un rect en coordenadas de cliente. Si desea invalidar toda su área de cliente, a continuación, pasar NULL a InvalidateRect. Podría pasar el rect devuelto por GetClientRect, pero es mucho más sencillo y claro para pasar NULL.

  2. 11

    GetClientRect obtiene las coordenadas del área cliente de la ventana. En concreto este es el área de dentro de la ventana de chrome y excluye el encabezado etc. Uno de los comentarios en la página de MSDN lo resume bastante bien:

    Yo diría que esta función retorna el tamaño de la zona que me puede prestar a.

    GetWindowsRect obtiene las coordenadas de la ventana. Este incluye el encabezado, la barra de estado, etc. Sin embargo, de acuerdo a un comentario en la página de MSDN

    Aplicaciones en Vista de que no están vinculados con WINVER=6 recibirá un conjunto de engaño de los valores de aquí, que no cuenta para el relleno extra de «cristal» píxeles » Aero de Vista se aplica a la ventana.

    Así que a menos que esto se han fijado para Windows 7 de comprobar que el resultado que se obtiene y asegúrese de que tiene el valor correcto de WINVER.

  3. 10

    Una explicación muy simple es que GetWindowRect() le da el rectángulo que incluye los bordes de la ventana. GetClientRect() le da el rectángulo que excluye de las fronteras – el área que se destina a la ventana de dibujo concreto.

    Por favor, tenga en cuenta que GetWindowRect() devuelve un rectángulo en la pantalla de coordenadas coordenadas que están en relación a la pantalla/monitor. GetClientRect() devuelve un rectángulo que está en relación a si mismo.

  4. 6

    De MSDN:

    GetWindowRect

    Recupera las dimensiones del rectángulo delimitador de la ventana especificada. Las dimensiones están dadas en coordenadas de pantalla que son relativas a la esquina superior izquierda de la pantalla.

    GetClientRect

    Recupera las coordenadas de un área cliente de la ventana. El cliente especificar las coordenadas de la esquina superior-izquierda e inferior-derecha de las esquinas del área de cliente. Porque el cliente coordenadas son relativas a la esquina superior izquierda de un área cliente de la ventana, las coordenadas de la esquina superior izquierda son (0,0).

    Más: cliente rect no incluye la barra de título, bordes, barras de desplazamiento, barra de estado…

    • Gracias por el punto de coordenadas relativas se devuelve desde GetClientRect().
    • Nota importante acerca de las barras de desplazamiento

Dejar respuesta

Please enter your comment!
Please enter your name here