Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Windows bietet eine Vielzahl von Zeichentools, die in Gerätekontexten verwendet werden können. Es stellt Stifte zum Zeichnen von Linien, Pinsel zum Ausfüllen von Inneneinrichtungen und Schriftarten zum Zeichnen von Text bereit. MFC stellt Grafikobjektklassen bereit, die den Zeichentools in Windows entsprechen. Die folgende Tabelle enthält die verfügbaren Klassen und die entsprechenden GDI-Handletypen (Windows Graphics Device Interface).
Hinweis
Weitere Informationen finden Sie in der GDI+ SDK-Dokumentation.
In diesem Artikel wird die Verwendung dieser Grafikobjektklassen erläutert:
Klassen für Windows GDI-Objekte
| Klasse | Windows-Handletyp |
|---|---|
| CPen | HPEN |
| CBrush | HBRUSH |
| CFont | HFONT |
| CBitmap | HBITMAP |
| CPalette | HPALETTE |
| CRgn | HRGN |
Hinweis
Die Klasse CImage bietet erweiterte Bitmapunterstützung.
Jede Grafikobjektklasse in der Klassenbibliothek verfügt über einen Konstruktor, mit dem Sie Grafikobjekte dieser Klasse erstellen können, die Sie dann mit der entsprechenden Erstellungsfunktion initialisieren müssen, z CreatePen. B. .
Jede Grafikobjektklasse in der Klassenbibliothek verfügt über einen Umwandlungsoperator, der ein MFC-Objekt in das zugeordnete Windows-Handle umwandeln wird. Das resultierende Handle ist gültig, bis das zugeordnete Objekt sie trennt. Verwenden Sie die Memberfunktion des Detach Objekts, um das Handle zu trennen.
Der folgende Code wandelt ein CPen Objekt in ein Windows-Handle um:
CPen myPen;
myPen.CreatePen(PS_COSMETIC, 1, RGB(255, 255, 0));
HPEN hMyPen = (HPEN)myPen;
So erstellen Sie ein Grafikobjekt in einem Gerätekontext
Definieren Sie ein Grafikobjekt im Stapelrahmen. Initialisieren Sie das Objekt mit der typspezifischen Erstellungsfunktion, z
CreatePen. B. . Alternativ können Sie das Objekt im Konstruktor initialisieren. Sehen Sie sich die Diskussion über die einstufige und zweistufige Erstellung an, die Beispielcode bereitstellt.Wählen Sie das Objekt im aktuellen Gerätekontext aus, und speichern Sie das alte Grafikobjekt, das zuvor ausgewählt wurde.
Wenn Sie mit dem aktuellen Grafikobjekt fertig sind, wählen Sie das alte Grafikobjekt wieder in den Gerätekontext aus, um den Zustand wiederherzustellen.
Zulassen, dass das framegeteilte Grafikobjekt automatisch gelöscht wird, wenn der Bereich beendet wird.
Hinweis
Wenn Sie ein Grafikobjekt wiederholt verwenden, können Sie es einmal zuordnen und jedes Mal in einem Gerätekontext auswählen, wenn es benötigt wird. Achten Sie darauf, ein solches Objekt zu löschen, wenn Sie es nicht mehr benötigen.