Fensterobjekte
MFC stellt die Klasse CWnd bereit, um den 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. Wird verwendet CWnd
, um Ihre eigenen untergeordneten Fensterklassen abzuleiten oder eine der vielen MFC-Klassen zu verwenden, die von CWnd
. 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, Sie können jedoch Ihre eigene Klasse ableiten CWnd
und ihre 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 den Betrieb auf einem CWnd
CWnd
und die abgeleiteten Fensterklassen stellen Konstruktoren, Destruktoren und Memberfunktionen bereit, um das Objekt zu initialisieren, die zugrunde liegenden Windows-Strukturen zu erstellen und auf die gekapselten HWND
Zugänge zuzugreifen. CWnd
Stellt außerdem Memberfunktionen bereit, die Windows-APIs zum Senden von Nachrichten kapseln, auf den Status des Fensters zugreifen, Koordinaten konvertieren, Aktualisieren, Scrollen, Zugreifen auf die Zwischenablage und viele andere Aufgaben. Die meisten Windows-Fensterverwaltungs-APIs, die ein HWND
Argument verwenden, sind als Memberfunktionen gekapselt CWnd
. Die Namen der Funktionen und deren Parameter werden in der CWnd
Memberfunktion beibehalten. Ausführliche Informationen zu den windows-APIs, die von CWnd
diesem gekapselt wurden, 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 CWnd
von sind Handler für Standardnachrichten – diejenigen, die mit dem Bezeichner afx_msg und dem Präfix "Ein" beginnen, z OnPaint
. B. 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-Zeichengeräte unabhängig machen
Grafikobjekte: Stifte, Pinsel, Schriftarten, Bitmaps, Paletten, Regionen