Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un contexto de dispositivo es una estructura de datos de Windows que contiene información sobre los atributos de dibujo de un dispositivo, como una pantalla o una impresora. Todas las llamadas de dibujo se realizan a través de un objeto de contexto de dispositivo, que encapsula las API de Windows para dibujar líneas, formas y texto. Los contextos de dispositivo permiten el dibujo independiente del dispositivo en Windows. Los contextos de dispositivo se pueden usar para dibujar en la pantalla, en la impresora o en un metarchivo.
Los objetos CPaintDC encapsulan la expresión común de Windows, llamando a la BeginPaint
función y, a continuación, dibujando en el contexto del dispositivo y llamando a la EndPaint
función. El CPaintDC
constructor llama BeginPaint
a usted y el destructor llama a EndPaint
. El proceso simplificado consiste en crear el objeto CDC , dibujar y, a continuación, destruir el CDC
objeto. En el marco, gran parte de incluso este proceso se automatiza. En concreto, la OnDraw
función se pasa ya CPaintDC
preparada (a través OnPrepareDC
de ) y simplemente dibuja en ella. El marco lo destruye y el contexto del dispositivo subyacente se libera en Windows tras volver de la llamada a la OnDraw
función.
Los objetos CClientDC encapsulan el trabajo con un contexto de dispositivo que representa solo el área cliente de una ventana. El CClientDC
constructor llama a la GetDC
función y el destructor llama a la ReleaseDC
función .
Los objetos CWindowDC encapsulan un contexto de dispositivo que representa toda la ventana, incluido su marco.
Los objetos CMetaFileDC encapsulan el dibujo en un metarchivo de Windows. A diferencia de lo CPaintDC
pasado a OnDraw
, en este caso debe llamar a OnPrepareDC usted mismo.
Dibujo del mouse
La mayoría de los dibujos en un programa de marco (y, por tanto, la mayoría del trabajo de contexto del dispositivo) se realizan en la función miembro de OnDraw
la vista. Sin embargo, todavía puede usar objetos de contexto de dispositivo para otros fines. Por ejemplo, para proporcionar comentarios de seguimiento para el movimiento del mouse en una vista, debe dibujar directamente en la vista sin esperar OnDraw
a que se llame.
En tal caso, puede usar un objeto de contexto de dispositivo CClientDC para dibujar directamente en la vista.