Compartilhar via


Contextos de dispositivo

Um contexto do dispositivo é uma estrutura de dados do windows que contém informações sobre os atributos de desenho de um dispositivo como uma exibição ou uma impressora. Todas as chamadas de desenho são feitas por meio de um objeto do dispositivo contexto, que encapsula as APIs do windows para desenhar linhas, forma, e texto. Os contextos de dispositivo permitem o desenho dispositivo independente no windows. Os contextos de dispositivo podem ser usados para desenhar para a tela, para a impressora, ou metarquivo.

os objetos deCPaintDC encapsulam o common language runtime do windows, chamando a função de BeginPaint , o desenho no contexto do dispositivo, então chamando a função de EndPaint . O construtor de CPaintDC chama BeginPaint para você, e o destruidor chama EndPaint. O processo é simplificado criar o objeto de CDC , desenha, e destruição no objeto de CDC . Na estrutura, muito mesmo esse processo é automatizado. Em particular, sua função de OnDraw é passada CPaintDC já preparado (por meio de OnPrepareDC), e você desenha somente nele. É destruído pela estrutura e o contexto subjacente do dispositivo é liberado para as janelas no retorno de chamada à função de OnDraw .

os objetos deCClientDC encapsulam trabalhar com um contexto do dispositivo que representa apenas a área do cliente de uma janela. O construtor de CClientDC chama a função de GetDC , e as chamadas de destruidor a função de ReleaseDC . os objetos deCWindowDC encapsulam um contexto do dispositivo que representa a janela inteira, inclusive o quadro.

os objetos deCMetaFileDC encapsulam o desenho em um metarquivo do windows. Em contraste com CPaintDC passado a OnDrawnesse caso, você deve chamar OnPrepareDC você mesmo.

Desenho do mouse em

A maioria de desenho em um programa-quadro — e assim a maioria de trabalho do dispositivo contexto — é feito na função de membro de OnDraw de exibição. No entanto, você ainda pode usar objetos do dispositivo contexto para outros fins. Por exemplo, para fornecer comentários de rastreamento para o movimento do mouse em uma exibição, você precisa chamar diretamente na exibição sem OnDraw de espera a ser chamado.

Nesse caso, você pode usar um objeto do dispositivo contexto de CClientDC para chamar diretamente na exibição.

Que você deseja saber mais?

Consulte também

Conceitos

Objetos de janela