Condividi tramite


Contesti di dispositivo

Un contesto di dispositivo è una struttura di dati di Windows contenente informazioni sugli attributi di disegno di un dispositivo, ad esempio uno schermo o una stampante. Tutte le chiamate di disegno vengono effettuate tramite un oggetto contesto dispositivo, che incapsula le API di Windows per le linee di disegno, le forme e il testo. I contesti di dispositivo consentono il disegno indipendente dal dispositivo in Windows. I contesti di dispositivo possono essere usati per disegnare sullo schermo, sulla stampante o su un metafile.

Gli oggetti CPaintDC rappresentano un modello comune di Windows, richiamando la funzione BeginPaint, quindi disegnando nel contesto del dispositivo, e infine richiamando la funzione EndPaint. Il costruttore CPaintDC chiama BeginPaint per te, e il distruttore chiama EndPaint. Il processo semplificato consiste nel creare l'oggetto CDC , disegnare e quindi eliminare definitivamente l'oggetto CDC . Nel framework gran parte di questo processo è automatizzato. In particolare, la funzione OnDraw viene passata a un oggetto CPaintDC già preparato (tramite OnPrepareDC) e basta disegnare al suo interno. Viene eliminato dal framework e il contesto del dispositivo sottostante viene rilasciato a Windows al ritorno dalla chiamata alla funzione OnDraw.

Gli oggetti CClientDC incapsulano l'uso di un contesto di dispositivo che rappresenta solo l'area client di una finestra. Il CClientDC costruttore chiama la GetDC funzione e il distruttore chiama la ReleaseDC funzione . Gli oggetti CWindowDC incapsulano un contesto di dispositivo che rappresenta l'intera finestra, inclusa la cornice.

Gli oggetti CMetaFileDC incapsulano il disegno in un metafile di Windows. A differenza del CPaintDC passato a OnDraw, in questo caso devi chiamare OnPrepareDC personalmente.

Disegno del mouse

La maggior parte dei disegni in un programma framework, e quindi la maggior parte del lavoro del contesto di dispositivo, viene eseguita nella funzione membro della visualizzazione OnDraw. Tuttavia, è comunque possibile usare oggetti contesto dispositivo per altri scopi. Ad esempio, per fornire feedback di rilevamento per lo spostamento del mouse in una visualizzazione, è necessario disegnare direttamente nella visualizzazione senza attendere OnDraw che venga chiamato.

In questo caso, è possibile usare un oggetto contesto di dispositivo CClientDC per disegnare direttamente nella visualizzazione.

Cosa vuoi sapere di più su

Vedere anche

Oggetti Finestra