Oggetti grafici
Windows offre un'ampia gamma di strumenti di disegno da usare in contesti di dispositivo, tra cui penne per tracciare linee, pennelli per riempire le aree interne e tipi di carattere per aggiungere testo. MFC offre classi di oggetti grafici equivalenti agli strumenti di disegno di Windows. La tabella seguente mostra le classi disponibili e i tipi di handle Graphics Device Interface (GDI) di Windows equivalenti.
Nota
Per altre informazioni, vedere la documentazione di GDI+ SDK.
Questo articolo descrive l'uso di queste classi di oggetti grafici:
Classi per oggetti GDI di Windows
Classe | Tipo di handle di Windows |
---|---|
CPen | HPEN |
CBrush | HBRUSH |
CFont | HFONT |
Cbitmap | HBITMAP |
CPalette | HPALETTE |
CRgn | HRGN |
Nota
La classe CImage offre supporto avanzato per le bitmap.
Ogni classe di oggetti grafici nella libreria di classi ha un costruttore che permette di creare oggetti grafici di tale classe, che è quindi necessario inizializzare con la funzione di creazione appropriata, ad esempio CreatePen
.
Ogni classe di oggetti grafici nella libreria di classi include un operatore di cast che eseguirà il cast di un oggetto MFC all'handle di Windows associato. L'handle risultante è valido fino a quando l'oggetto associato non lo scollega. Utilizzare la funzione membro dell'oggetto Detach
per scollegare l'handle.
Il codice seguente esegue il cast di un oggetto CPen
a un handle di Windows:
CPen myPen;
myPen.CreatePen(PS_COSMETIC, 1, RGB(255, 255, 0));
HPEN hMyPen = (HPEN)myPen;
Per creare un oggetto grafico in un contesto di dispositivo
Definire un oggetto grafico sullo stack frame. Inizializzare l'oggetto con la funzione di creazione specifica del tipo, ad esempio
CreatePen
. In alternativa, inizializzare l'oggetto nel costruttore. Vedere la discussione sulla creazione in una fase e in due fasi, che fornisce codice di esempio.Selezionare l'oggetto nel contesto di dispositivo corrente, salvando l'oggetto grafico precedente selezionato in precedenza.
Al termine delle operazioni sull'oggetto grafico corrente, selezionare di nuovo il vecchio oggetto grafico nel contesto di dispositivo per ripristinarne lo stato.
Consentire l'eliminazione automatica dell'oggetto grafico allocato al frame quando si esce dall'ambito.
Nota
Se si prevede di usare ripetutamente un oggetto grafico, è possibile allocarlo una volta e selezionarlo in un contesto di dispositivo ogni volta che è necessario. Assicurarsi di eliminare l'oggetto quando non è più necessario.