Freigeben über


Window-Objekte

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

Siehe auch

Fenster