Compartilhar via


Contextos do dispositivo

Um contexto de 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 de contexto de dispositivo, que encapsula as APIs do Windows para desenhar linhas, formas e texto. Os contextos do dispositivo permitem o desenho independente do dispositivo no Windows. Os contextos do dispositivo podem ser usados para desenhar para a tela, para a impressora ou para um metafile.

Objetos CPaintDC encapsulam o idioma comum do Windows, chamando a BeginPaint função e, em seguida, desenhando no contexto do dispositivo e chamando a EndPaint função. O CPaintDC construtor chama BeginPaint você e o destruidor chama EndPaint. O processo simplificado é criar o objeto CDC , desenhar e destruir o CDC objeto. Na estrutura, grande parte desse processo é automatizado. Em particular, sua OnDraw função é passada por um CPaintDC já preparado (via OnPrepareDC) e você simplesmente desenha nela. Ele é destruído pela estrutura e o contexto do dispositivo subjacente é liberado para o Windows após o retorno da chamada para sua OnDraw função.

Objetos CClientDC encapsulam o trabalho com um contexto de dispositivo que representa apenas a área do cliente de uma janela. O CClientDC construtor chama a GetDC função e o destruidor chama a ReleaseDC função. Objetos CWindowDC encapsulam um contexto de dispositivo que representa toda a janela, incluindo seu quadro.

Objetos CMetaFileDC encapsulam o desenho em um metafilo do Windows. Ao contrário do CPaintDC passado para OnDraw, você deve, nesse caso, chamar OnPrepareDC por conta própria.

Desenho do mouse

A maioria dos desenhos em um programa de estrutura – e, portanto, a maioria dos trabalhos de contexto do dispositivo – é feita na função de membro do modo de OnDraw exibição. No entanto, você ainda pode usar objetos de contexto de dispositivo para outras finalidades. Por exemplo, para fornecer comentários de acompanhamento para a movimentação do mouse em um modo de exibição, você precisa desenhar diretamente para a exibição sem esperar para OnDraw ser chamado.

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

O que você quer saber mais sobre

Consulte também

Objetos de janela