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.
MFC stellt die Klasse CWnd bereit, um das HWND
-Handle eines Fensters zu kapseln. Das CWnd
Objekt ist ein C++-Fensterobjekt, das sich von dem HWND
unterscheidet, das ein Windows-Fenster darstellt, aber es enthält. Verwenden Sie CWnd
, um Ihre eigenen untergeordneten Fensterklassen abzuleiten oder eine der vielen von CWnd
abgeleiteten MFC-Klassen zu nutzen. Klasse CWnd
ist die Basisklasse für alle Fenster, einschließlich Rahmenfenstern, Dialogfeldern, untergeordneten Fenstern, Steuerelementen und Steuerelementleisten wie Symbolleisten. Ein gutes Verständnis der Beziehung zwischen einem C++-Fensterobjekt und einem HWND ist entscheidend für die effektive Programmierung mit MFC.
MFC stellt einige Standardfunktionen und die Verwaltung von Fenstern bereit, aber Sie können Ihre eigene Klasse von CWnd
ableiten und deren Memberfunktionen verwenden, um die bereitgestellte Funktionalität anzupassen. Sie können untergeordnete Fenster erstellen, indem Sie ein CWnd
Objekt erstellen und dessen Create-Memberfunktion aufrufen und dann die untergeordneten Fenster mithilfe von CWnd
Memberfunktionen anpassen. Sie können Von CView abgeleitete Objekte wie Formularansichten oder Strukturansichten in ein Framefenster einbetten. Außerdem können Sie mehrere Ansichten Ihrer Dokumente über Geteilte Bereiche unterstützen, die von Der Klasse CSplitterWnd bereitgestellt werden.
Jedes von der Klasse CWnd
abgeleitete Objekt enthält eine Nachrichtenzuordnung, über die Sie Windows-Nachrichten oder Befehls-IDs Ihren eigenen Handlern zuordnen können.
Die allgemeine Literatur zur Programmierung für Windows ist eine gute Ressource zum Erlernen der Verwendung der CWnd
Memberfunktionen, die die HWND
APIs kapseln.
Funktionen für die Arbeit mit einem CWnd
CWnd
und die abgeleiteten Fensterklassen stellen Konstruktoren, Destruktoren und Mitgliedsfunktionen bereit, um das Objekt zu initialisieren, die zugrunde liegenden Windows-Strukturen zu erstellen und auf die gekapselten HWND
-Komponenten zuzugreifen. CWnd
stellt außerdem Funktionsmitglieder zur Verfügung, die Windows-APIs für das Senden von Nachrichten, den Zugriff auf den Status des Fensters, die Konvertierung von Koordinaten, das Aktualisieren, das Scrollen, den Zugriff auf die Zwischenablage und viele andere Aufgaben kapseln. Die meisten Windows-Fensterverwaltungs-APIs, die ein HWND
-Argument verwenden, sind als Mitgliedfunktionen von CWnd
gekapselt. Die Namen der Funktionen und deren Parameter werden in der CWnd
Memberfunktion beibehalten. Ausführliche Informationen zu den Windows-APIs, die von CWnd
gekapselt werden, finden Sie unter CWnd.
CWnd und Windows-Nachrichten
Einer der Hauptzwecke CWnd
ist die Bereitstellung einer Schnittstelle zum Behandeln von Windows-Nachrichten, z. B. WM_PAINT oder WM_MOUSEMOVE. Viele der Memberfunktionen von CWnd
sind Handler für Standardmeldungen – diejenigen, die mit dem Bezeichner afx_msg und dem Präfix "On" beginnen, wie z. B. OnPaint
und OnMouseMove
. Die Nachrichtenverarbeitung und -zuordnung behandelt Nachrichten und nachrichtenverarbeitung im Detail. Die dort aufgeführten Informationen gelten gleichermaßen für die Fenster des Frameworks und die, die Sie für besondere Zwecke erstellen.
Was möchten Sie mehr über
Die Beziehung zwischen einem C++-Fensterobjekt und einem HWND
Gerätekontexte: Objekte, die Windows geräteunabhängig darstellen
Grafikobjekte: Stifte, Pinsel, Schriftarten, Bitmaps, Paletten, Regionen