Contextos de dispositivo
Um contexto de dispositivo é uma estrutura de dados do Windows que contém informações sobre atributos de desenho de um dispositivo, sistema autônomo uma exibição ou uma impressora.Todas as chamadas de desenho são feitas por meio de um objeto de contexto de dispositivo, que encapsula as APIs do Windows para desenho de linhas, formas e texto.Contextos de dispositivo permitem desenho independentes de dispositivo no Windows.Contextos de dispositivo podem ser usados para desenhar na tela, impressora ou um metarquivo.
CPaintDC objetos encapsulam o idioma comum do Windows, chamando o BeginPaint função, depois de desenho no contexto de dispositivo e, em seguida, chamar o EndPaint função. The CPaintDC chamadas de construtor BeginPaint para você e as chamadas de destruidor EndPaint. Processo simplificado é criar o CDC objeto desenhar e destruir a CDC objeto. Na estrutura, grande parte do mesmo processo de é automatizada.Em particular, seu OnDraw função é passada uma CPaintDC já preparado (via OnPrepareDC), e basta desenhar nela. Destruí-la pela estrutura e o contexto de dispositivo subjacente é liberado para o Windows após retornar da telefonar para o seu OnDraw função.
CClientDC objetos encapsulam trabalhar com um contexto de dispositivo que representa apenas a área de cliente de uma janela.The CClientDC chamadas de construtor a GetDC função e as chamadas de destruidor a ReleaseDC função. CWindowDC objetos encapsulam um contexto de dispositivo que representa a janela inteira, inclusive seu quadro.
CMetaFileDC objetos encapsulam o desenho em um metarquivo do Windows.Em contraste com o CPaintDC passado para OnDraw, é necessário no caso telefonar OnPrepareDC você mesmo.
Desenho de mouse
A maioria de desenho em um programa de estrutura — e, portanto, a maioria dos trabalho contexto de dispositivo — é feita no OnDraw função de membro. No entanto, você poderá usar objetos de contexto de dispositivo para outros fins.Por exemplo, para fornecer comentários de acompanhamento do movimento do mouse em um modo de exibição, você precise desenhar diretamente no modo de exibição sem esperar por OnDraw a ser chamado.
No caso, você pode usar um CClientDC objeto de contexto de dispositivo para desenhar diretamente no modo de exibição.