Windows (Fenster und Meldungen)

In einer grafischen Windows-basierten Anwendung ist ein Fenster ein rechteckiger Bereich des Bildschirms, auf dem die Anwendung Ausgabe anzeigt und Eingaben vom Benutzer empfängt. Daher besteht eine der ersten Aufgaben einer grafischen Windows-basierten Anwendung darin, ein Fenster zu erstellen.

Ein Fenster teilt den Bildschirm mit anderen Fenstern, einschließlich der von anderen Anwendungen. Nur ein Fenster kann gleichzeitig Eingaben vom Benutzer empfangen. Der Benutzer kann die Maus, Tastatur oder andere Eingabegeräte verwenden, um mit diesem Fenster und der Anwendung zu interagieren, die es besitzt.

In diesem Abschnitt

Name Beschreibung
Info Beschreibt die Programmierelemente, die Anwendungen zum Erstellen und Verwenden von Fenstern verwenden; Verwalten von Beziehungen zwischen Fenstern; und Größe, Verschieben und Anzeigen von Fenstern.
Verwenden von Windows Enthält Beispiele, die Aufgaben ausführen, die mit Windows verknüpft sind.
Fensterfeatures Erläutert Features von Fenstern wie Fenstertypen, Zuständen, Größe und Position.
Fensterreferenz Enthält den API-Verweis.

 

Fensterfunktionen

Name Beschreibung
AnpassenWindowRect Berechnet die erforderliche Größe des Fensterrechtecks basierend auf der gewünschten Clientrechteckgröße. Das Fensterrechteck kann dann an die CreateWindow-Funktion übergeben werden, um ein Fenster zu erstellen, dessen Clientbereich die gewünschte Größe ist.
AnpassenWindowRectEx Berechnet die erforderliche Größe des Fensterrechtecks basierend auf der gewünschten Größe des Clientrechtecks. Das Fensterrechteck kann dann an die CreateWindowEx-Funktion übergeben werden, um ein Fenster zu erstellen, dessen Clientbereich die gewünschte Größe ist.
AllowSetForegroundWindow Ermöglicht den angegebenen Prozess, das Vordergrundfenster mithilfe der Funktion "SetForegroundWindow " festzulegen. Der Aufrufvorgang muss bereits in der Lage sein, das Vordergrundfenster festzulegen. Weitere Informationen finden Sie weiter unten in diesem Thema unter "Hinweise".
AnimateWindow Ermöglicht Es Ihnen, Spezielle Effekte beim Anzeigen oder Ausblenden von Fenstern zu erzeugen. Es gibt vier Arten von Animationen: Roll, Folien, Reduzieren oder Erweitern und Alpha-Blended-Fade.
AnyPopup Gibt an, ob ein eigenes, sichtbares, überlappenes Fenster auf dem Bildschirm vorhanden ist. Die Funktion sucht den gesamten Bildschirm, nicht nur den Clientbereich der aufrufenden Anwendung.
ArrangeIconicWindows Stellt alle minimierten (ikonischen) untergeordneten Fenster des angegebenen übergeordneten Fensters an.
BeginDeferWindowPos Weist Speicher für eine Struktur mit mehreren Fenstern zu und gibt den Handle an die Struktur zurück.
BringWindowToTop Bringt das angegebene Fenster oben in die Z-Reihenfolge. Wenn das Fenster ein Fenster auf oberster Ebene ist, wird es aktiviert. Wenn das Fenster ein untergeordnetes Fenster ist, wird das übergeordnete Fenster auf oberster Ebene aktiviert, das dem untergeordneten Fenster zugeordnet ist.
CalculatePopupWindowPosition Berechnet eine entsprechende Popupfensterposition mithilfe des angegebenen Ankerpunkts, Popupfenstergröße, Flags und des optionalen ausschließenden Rechtecks. Wenn die angegebene Popupfenstergröße kleiner als die Desktopfenstergröße ist, verwenden Sie die Funktion "CalculatePopupWindowPosition ", um sicherzustellen, dass das Popupfenster im Desktopfenster vollständig sichtbar ist, unabhängig vom angegebenen Ankerpunkt.
CascadeWindows Überschreibt die angegebenen untergeordneten Fenster des angegebenen übergeordneten Fensters.
ChangeWindowMessageFilter Fügt eine Nachricht aus dem Nachrichtenfilter "Benutzeroberflächenberechtigungsisolation" (UIPI) hinzu oder entfernt diese.
ChangeWindowMessageFilterEx Ändert den UIPI-Nachrichtenfilter für ein angegebenes Fenster.
ChildWindowFromPoint Bestimmt, welche untergeordneten Fenster eines übergeordneten Fensters den angegebenen Punkt enthalten. Die Suche ist auf direkte untergeordnete Fenster beschränkt. Enkel und tiefere absteigende Fenster werden nicht durchsucht.
ChildWindowFromPointEx Bestimmt, welche der untergeordneten Fenster, die zum angegebenen übergeordneten Fenster gehören, den angegebenen Punkt enthält. Die Funktion kann unsichtbare, deaktivierte und transparente untergeordnete Fenster ignorieren. Die Suche ist auf direkte untergeordnete Fenster beschränkt. Enkel und tiefere Nachkommen werden nicht durchsucht.
CloseWindow Minimiert (aber nicht zerstört) das angegebene Fenster.
Createwindow Erstellt ein überlappenes, Popup- oder untergeordnetes Fenster. Es gibt die Fensterklasse, den Fenstertitel, die Fensterformatvorlage und (optional) die anfängliche Position und Größe des Fensters an. Die Funktion gibt auch den übergeordneten oder besitzer des Fensters an, falls vorhanden, und das Menü des Fensters.
Createwindowex Erstellt ein überlappenes, Popup- oder untergeordnetes Fenster mit einem erweiterten Fensterformat; andernfalls ist diese Funktion identisch mit der Funktion CreateWindow . Weitere Informationen zum Erstellen eines Fensters und für vollständige Beschreibungen der anderen Parameter von CreateWindowEx finden Sie unter CreateWindow.
DeferWindowPos Aktualisiert die angegebene Mehrfachfensterpositionsstruktur für das angegebene Fenster. Die Funktion gibt dann einen Handle an die aktualisierte Struktur zurück. Die Funktion EndDeferWindowPos verwendet die Informationen in dieser Struktur, um die Position und Größe einer Anzahl von Fenstern gleichzeitig zu ändern. Die BeginDeferWindowPos-Funktion erstellt die Struktur.
DeregisterShellHookWindow Deaktiviert die Registrierung eines angegebenen Shell-Fensters, das registriert ist, um Shell-Hook-Nachrichten zu empfangen. Es deaktiviert Fenster, die mit einem Aufruf der Funktion "RegisterShellHookWindow " registriert sind.
DestroyWindow Zerstört das angegebene Fenster. Die Funktion sendet WM_DESTROY und WM_NCDESTROY Nachrichten an das Fenster, um sie zu deaktivieren und den Tastaturfokus daraus zu entfernen. Die Funktion zerstört auch das Menü des Fensters, löscht die Threadnachrichtenwarteschlange, zerstört Zeitgeber, entfernt Zwischenablagebesitzer und bricht die Zwischenablageanzeigekette (wenn sich das Fenster am oberen Rand der Viewerkette befindet).
EndDeferWindowPos Aktualisiert gleichzeitig die Position und Größe eines oder mehrerer Fenster in einem einzelnen Bildschirmaktualisierungszyklus.
EndTask Wird ein angegebenes Fenster geschlossen.
EnumChildProc Anwendungsdefinierte Rückruffunktion, die mit der Funktion "EnumChildWindows " verwendet wird. Es empfängt die untergeordneten Fensterhandpunkte. Der WNDENUMPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. EnumChildProc ist ein Platzhalter für den anwendungsspezifischen Funktionsnamen.
EnumChildWindows Enumeiert die untergeordneten Fenster, die zum angegebenen übergeordneten Fenster gehören, indem sie den Handle an jedes untergeordnete Fenster übergeben, wiederum an eine anwendungsdefinierte Rückruffunktion. EnumChildWindows wird fortgesetzt, bis das letzte untergeordnete Fenster aufgezählt wird oder die Rückruffunktion FALSE zurückgibt.
EnumThreadWindows Enumeiert alle nichtchilden Fenster, die einem Thread zugeordnet sind, indem der Handle an jedes Fenster übergeben wird, wiederum an eine anwendungsdefinierte Rückruffunktion. EnumThreadWindows wird fortgesetzt, bis das letzte Fenster aufgezählt wird oder die Rückruffunktion FALSE zurückgibt. Zum Aufzählen untergeordneter Fenster eines bestimmten Fensters verwenden Sie die Funktion EnumChildWindows .
EnumThreadWndProc Eine anwendungsdefinierte Rückruffunktion, die mit der Funktion EnumThreadWindows verwendet wird. Es empfängt die Fensterziehpunkte, die einem Thread zugeordnet sind. Der WNDENUMPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. EnumThreadWndProc ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
Enumwindows Enumeiert alle Fenster der obersten Ebene auf dem Bildschirm, indem sie das Handle an jedes Fenster an eine anwendungsdefinierte Rückruffunktion übergeben. "EnumWindows" wird fortgesetzt, bis das letzte Fenster auf oberster Ebene aufgezählt wird, oder die Rückruffunktion gibt FALSE zurück.
EnumWindowsProc Eine anwendungsdefinierte Rückruffunktion, die mit der Funktion EnumWindows oder EnumDesktopWindows verwendet wird. Es empfängt Fensterziehpunkte auf oberster Ebene. Der WNDENUMPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. EnumWindowsProc ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
Findwindow Ruft ein Handle zum Fenster der obersten Ebene ab, dessen Klassenname und Fenstername den angegebenen Zeichenfolgen entsprechen. Diese Funktion sucht keine untergeordneten Fenster. Diese Funktion führt keine Groß-/Kleinschreibungssuche aus.
FindWindowEx Ruft ein Handle zu einem Fenster ab, dessen Klassenname und Fenstername den angegebenen Zeichenfolgen entsprechen. Die Funktion durchsucht untergeordnete Fenster, beginnend mit dem Fenster, das dem angegebenen untergeordneten Fenster folgt. Diese Funktion führt keine Groß-/Kleinschreibungssuche aus.
GetAltTabInfo Ruft Statusinformationen für das angegebene Fenster ab, wenn es sich um das Fenster "Anwendungswechsel" (ALT+TAB) handelt.
GetAncestor Ruft den Handle zum Vorgänger des angegebenen Fensters ab.
GetClientRect Ruft die Koordinaten des Clientbereichs eines Fensters ab. Die Clientkoordinaten geben die oberen linken und unteren rechten Ecken des Clientbereichs an. Da Clientkoordinaten relativ zur oberen linken Ecke des Clientbereichs eines Fensters sind, sind die Koordinaten der oberen linken Ecke (0,0).
GetDesktopWindow Gibt einen Handle an das Desktopfenster zurück. Das Desktopfenster deckt den gesamten Bildschirm ab. Das Desktopfenster ist der Bereich, in dem andere Fenster bemalt werden.
GetForegroundWindow Gibt einen Handle zum Vordergrundfenster zurück (das Fenster, mit dem der Benutzer gerade arbeitet). Das System weist dem Thread eine etwas höhere Priorität zu, die das Vordergrundfenster erstellt, als es anderen Threads entspricht.
GetGUIThreadInfo Ruft Informationen zum aktiven Fenster oder einem angegebenen GUI-Thread ab.
GetLastActivePopup Bestimmt, welches Popupfenster im Besitz des angegebenen Fensters zuletzt aktiv war.
GetLayeredWindowAttributes Ruft die Deckkraft- und Transparenzfarbenschlüssel eines überlappenden Fensters ab.
GetNextWindow Ruft einen Handle zum nächsten oder vorherigen Fenster in der Z-Reihenfolge ab. Das nächste Fenster befindet sich unterhalb des angegebenen Fensters; das vorherige Fenster befindet sich oben. Wenn es sich bei dem angegebenen Fenster um ein oberstes Fenster handelt, ruft die Funktion ein Handle zum nächsten (oder vorherigen) oberen Fenster ab. Wenn es sich bei dem angegebenen Fenster um ein Fenster auf oberster Ebene handelt, ruft die Funktion ein Handle zum nächsten (oder vorherigen) Fenster der obersten Ebene ab. Wenn es sich bei dem angegebenen Fenster um ein untergeordnetes Fenster handelt, sucht die Funktion nach einem Handle zum nächsten (oder vorherigen) untergeordneten Fenster.
GetParent Ruft ein Handle zum übergeordneten oder besitzer des angegebenen Fensters ab.
GetProcessDefaultLayout Ruft das Standardlayout ab, das verwendet wird, wenn Fenster ohne übergeordnetes Oder Besitzer erstellt werden.
GetShellWindow Gibt einen Handle zum Desktopfenster der Shell zurück.
GetTitleBarInfo Ruft Informationen über die angegebene Titelleiste ab.
GetTopWindow Untersucht die Z-Reihenfolge der untergeordneten Fenster, die dem angegebenen übergeordneten Fenster zugeordnet sind, und ruft einen Handle am oberen Rand der Z-Reihenfolge zum untergeordneten Fenster ab.
GetWindow Ruft ein Handle zu einem Fenster mit der angegebenen Beziehung (Z-Order oder Besitzer) zum angegebenen Fenster ab.
GetWindowDisplayAffinity Ruft die aktuelle Einstellung für die Anzeigeaffinität aus einem beliebigen Prozess für ein bestimmtes Fenster ab.
GetWindowInfo Ruft Informationen zum angegebenen Fenster ab.
GetWindowModuleFileName Ruft den vollständigen Pfad und Dateinamen des Moduls ab, das dem angegebenen Fensterhandle zugeordnet ist.
GetWindowPlacement Ruft den Anzeigezustand und die wiederhergestellte, minimierte und maximierte Position des angegebenen Fensters ab.
GetWindowRect Ruft die Abmessungen des umgebenden Rechtecks des angegebenen Fensters ab. Die Abmessungen werden in Bildschirmkoordinaten angegeben, die relativ zur oberen linken Ecke des Bildschirms liegen.
GetWindowText Kopiert den Text der Titelleiste des angegebenen Fensters (sofern vorhanden) in einen Puffer. Wenn das angegebene Fenster ein Steuerelement ist, wird der Text des Steuerelements kopiert. GetWindowText kann jedoch den Text eines Steuerelements in einer anderen Anwendung nicht abrufen.
GetWindowTextLength Ruft die Länge in Zeichen des Titelleistentexts des angegebenen Fensters ab (wenn das Fenster über eine Titelleiste verfügt). Wenn das angegebene Fenster ein Steuerelement ist, ruft die Funktion die Länge des Texts innerhalb des Steuerelements ab. GetWindowTextLength kann jedoch nicht die Länge des Texts eines Bearbeitungssteuerelements in einer anderen Anwendung abrufen.
GetWindowThreadProcessId Ruft den Bezeichner des Threads ab, der das angegebene Fenster erstellt hat, und optional den Bezeichner des Prozesses, der das Fenster erstellt hat.
IsChild Bestimmt, ob es sich bei einem Fenster um ein untergeordnetes Fenster oder ein untergeordnetes Fenster eines angegebenen übergeordneten Fensters handelt. Ein untergeordnetes Fenster ist der direkte Absteigende eines angegebenen übergeordneten Fensters, wenn sich dieses übergeordnete Fenster in der Kette der übergeordneten Fenster befindet; die Kette der übergeordneten Fenster führt von dem ursprünglich überlappenden oder Popupfenster zum untergeordneten Fenster.
IsGUIThread Bestimmt, ob der aufrufende Thread bereits ein GUI-Thread ist. Optional kann der Thread auch in einen GUI-Thread konvertiert werden.
IsHungAppWindow Bestimmt, ob Windows der Ansicht ist, dass eine angegebene Anwendung nicht reagiert. Eine Anwendung wird als nicht reagiert, wenn sie nicht auf eingaben wartet, nicht in der Startverarbeitung ist und keine PeekMessage innerhalb des internen Timeoutzeitraums von 5 Sekunden aufgerufen hat.
IsIconic Bestimmt, ob das angegebene Fenster minimiert wird (iconic).
IsProcessDPIAware Ruft einen Wert ab, der angibt, ob der aktuelle Prozess Punkte pro Zoll (dpi) ist, sodass er die Größen von UI-Elementen anpasst, um die Dpi-Einstellung zu kompensieren.
IsWindow Bestimmt, ob der angegebene Fensterpunkt ein vorhandenes Fenster identifiziert.
IsWindowUnicode Bestimmt, ob es sich bei dem angegebenen Fenster um ein systemeigenes Unicode-Fenster handelt.
IsWindowVisible Ruft den Sichtbarkeitsstatus des angegebenen Fensters ab.
IsZoomed Bestimmt, ob ein Fenster maximiert wird.
LockSetForegroundWindow Der Vordergrundprozess kann die LockSetForegroundWindow-Funktion aufrufen, um Aufrufe der SetForegroundWindow-Funktion zu deaktivieren.
LogicalToPhysicalPoint Wandelt die logischen Koordinaten eines Punkts in einem Fenster in physische Koordinaten um.
MoveWindow Ändert die Position und Abmessungen des angegebenen Fensters. Bei einem Fenster auf oberster Ebene ist die Position und die Abmessungen relativ zur oberen linken Ecke des Bildschirms. Für ein untergeordnetes Fenster sind sie relativ zur oberen linken Ecke des Clientbereichs des übergeordneten Fensters.
OpenIcon Stellt ein minimiertes (symbolfähiges) Fenster auf seine vorherige Größe und Position wieder her; anschließend wird das Fenster aktiviert.
PhysicalToLogicalPoint Wandelt die physischen Koordinaten eines Punkts in einem Fenster in logische Koordinaten um.
RealChildWindowFromPoint Ruft einen Handle am angegebenen Punkt zum untergeordneten Fenster ab. Die Suche ist auf direkte untergeordnete Fenster beschränkt; Enkel und tiefere absteigende Fenster werden nicht durchsucht.
RealGetWindowClass Ruft eine Zeichenfolge ab, die den Fenstertyp angibt.
RegisterShellHookWindow Registriert ein angegebenes Shell-Fenster, um bestimmte Nachrichten für Ereignisse oder Benachrichtigungen zu erhalten, die für Shell-Anwendungen nützlich sind. Die empfangenen Ereignisnachrichten sind nur diejenigen, die an das Shellfenster gesendet werden, das dem Desktop des angegebenen Fensters zugeordnet ist. Viele der Nachrichten sind identisch mit denen, die nach dem Aufrufen der SetWindowsHookEx-Funktion empfangen werden können und WH_SHELL für den Hook-Typ angeben. Der Unterschied bei RegisterShellHookWindow besteht darin, dass die Nachrichten über das WindowProc des angegebenen Fensters empfangen werden und nicht über eine Rückrufprozedur.
SetForegroundWindow Fügt den Thread, der das angegebene Fenster erstellt hat, in den Vordergrund und aktiviert das Fenster. Die Tastatureingabe wird an das Fenster weitergeleitet, und verschiedene visuelle Hinweise werden für den Benutzer geändert. Das System weist dem Thread, der das Vordergrundfenster erstellt hat, eine etwas höhere Priorität zu als andere Threads.
SetLayeredWindowAttributes Legt die Deckkraft- und Transparenzfarbenschlüssel eines überlappenden Fensters fest.
SetParent Ändert das übergeordnete Fenster des angegebenen untergeordneten Fensters.
SetProcessDefaultLayout Ändert das Standardlayout, wenn Fenster ohne übergeordneten oder besitzer nur für den derzeit ausgeführten Prozess erstellt werden.
SetProcessDPIAware Legt den aktuellen Prozess als dpi-fähig fest.
SetWindowDisplayAffinity Speichert die Anzeigeaffinitätseinstellung im Kernelmodus auf dem dem Fenster zugeordneten hWnd.
SetWindowPlacement Legt den Anzeigezustand und die wiederhergestellte, minimierte und maximierte Position des angegebenen Fensters fest.
SetWindowPos Ändert die Größe, Position und Z-Reihenfolge eines untergeordneten, Popup- oder Fensters auf oberster Ebene. Diese Fenster werden entsprechend ihrer Darstellung auf dem Bildschirm sortiert. Das oberste Fenster erhält den höchsten Rang und ist das erste Fenster in der Z-Reihenfolge.
SetWindowText Ändert den Text der Titelleiste des angegebenen Fensters (falls vorhanden). Wenn das angegebene Fenster ein Steuerelement ist, wird der Text des Steuerelements geändert. SetWindowText kann jedoch den Text eines Steuerelements in einer anderen Anwendung nicht ändern.
ShowOwnedPopups Blendet alle Popupfenster im Besitz des angegebenen Fensters ein oder aus.
ShowWindow Legt den Anzeigezustand des angegebenen Fensters fest.
ShowWindowAsync Legt den Anzeigezustand eines Fensters fest, das von einem anderen Thread erstellt wird.
SoundSentry Löst ein visuelles Signal aus, um anzugeben, dass ein Sound wiedergegeben wird.
SwitchToThisWindow Wechselt den Fokus auf ein angegebenes Fenster und bringt ihn in den Vordergrund.
TileWindows Kacheln die angegebenen untergeordneten Fenster des angegebenen übergeordneten Fensters.
UpdateLayeredWindow Aktualisiert die Position, Größe, Form, Inhalte und Lichtdurchlässigkeit eines überlappenden Fensters.
Updatelayeredwindowindirect Aktualisiert die Position, Größe, Form, Inhalte und Lichtdurchlässigkeit eines überlappenden Fensters.
WindowFromPhysicalPoint Ruft ein Handle für das Fenster ab, das den angegebenen physischen Punkt enthält.
WindowFromPoint Ruft ein Handle für das Fenster ab, das den angegebenen Punkt enthält.
WinMain WinMain ist der herkömmliche Name für den vom Benutzer bereitgestellten Einstiegspunkt für eine Windows-basierte Anwendung.

 

Fenstermakros

Name Beschreibung
GET_X_LPARAM Ruft die signierte x-Koordinate aus dem angegebenen LPARAM-Wert ab.
GET_Y_LPARAM Ruft die signierte y-Koordinate aus dem angegebenen LPARAM-Wert ab.
HIBYTE Ruft das Byte mit hoher Reihenfolge aus dem angegebenen 16-Bit-Wert ab.
HIWORD Ruft das Wort mit hoher Reihenfolge aus dem angegebenen 32-Bit-Wert ab.
LOBYTE Ruft das Byte mit niedriger Reihenfolge aus dem angegebenen Wert ab.
LOWORD Ruft das Wort mit niedriger Reihenfolge aus dem angegebenen Wert ab.
MAKELONG Erstellt einen LONG-Wert , indem die angegebenen Werte verkettet werden.
MAKELPARAM Erstellt einen Wert für die Verwendung als lParam-Parameter in einer Nachricht. Das Makro verkettet die angegebenen Werte.
MAKELRESULT Erstellt einen Wert für die Verwendung als Rückgabewert aus einer Fensterprozedur. Das Makro verkettet die angegebenen Werte.
MAKEWORD Erstellt einen WORD-Wert , indem die angegebenen Werte verkettet werden.
MAKEWPARAM Erstellt einen Wert für die Verwendung als wParam-Parameter in einer Nachricht. Das Makro verkettet die angegebenen Werte.

 

Fensternachrichten

Name Beschreibung
MN_GETHMENU Ruft die HMENU für das aktuelle Fenster ab.
WM_GETFONT Ruft die Schriftart ab, mit der das Steuerelement derzeit seinen Text zeichnet.
WM_GETTEXT Kopiert den Text, der einem Fenster entspricht, in einen Puffer, der vom Aufrufer bereitgestellt wird.
WM_GETTEXTLENGTH Bestimmen Sie die Länge in Zeichen des Texts, der einem Fenster zugeordnet ist.
WM_SETFONT Gibt die Schriftart an, die ein Steuerelement beim Zeichnen von Text verwenden soll.
WM_SETICON Ordnet ein neues großes oder kleines Symbol einem Fenster zu. Das System zeigt das große Symbol im Dialogfeld ALT+TAB und das kleine Symbol in der Fensterbeschriftung an.
WM_SETTEXT Legt den Text eines Fensters fest.

 

Fensterbenachrichtigungen

Name Beschreibung
WM_ACTIVATEAPP Gesendet, wenn ein Fenster, das zu einer anderen Anwendung gehört, als das aktive Fenster aktiviert werden soll. Die Nachricht wird an die Anwendung gesendet, deren Fenster aktiviert wird und an die Anwendung, deren Fenster deaktiviert wird.
Ein Fenster empfängt diese Nachricht über seine WindowProc-Funktion .
WM_CANCELMODE Gesendet, um bestimmte Modi abzubrechen, z. B. Mausaufnahme. Beispielsweise sendet das System diese Nachricht an das aktive Fenster, wenn ein Dialogfeld oder ein Meldungsfeld angezeigt wird. Bestimmte Funktionen senden diese Nachricht auch explizit an das angegebene Fenster, unabhängig davon, ob es sich um das aktive Fenster handelt. Beispielsweise sendet die EnableWindow-Funktion diese Nachricht beim Deaktivieren des angegebenen Fensters.
WM_CHILDACTIVATE Wird an ein untergeordnetes Fenster gesendet, wenn der Benutzer auf die Titelleiste des Fensters klickt oder wenn das Fenster aktiviert, verschoben oder angepasst wird.
WM_CLOSE Gesendet als Signal, dass ein Fenster oder eine Anwendung beendet werden soll.
WM_COMPACTING Wird an alle Fenster auf oberster Ebene gesendet, wenn das System mehr als 12,5 Prozent der Systemzeit über ein 30- bis 60-Sekunden-Intervall erkennt, wird ein kompakter Speicher ausgegeben. Dies gibt an, dass der Systemspeicher niedrig ist.
WM_CREATE Gesendet, wenn eine Anwendung anfordert, dass ein Fenster erstellt wird, indem die Funktion CreateWindowEx oder CreateWindow aufgerufen wird. (Die Nachricht wird gesendet, bevor die Funktion zurückgegeben wird.) Die Fensterprozedur des neuen Fensters empfängt diese Nachricht, nachdem das Fenster erstellt wurde, aber bevor das Fenster sichtbar wird.
WM_DESTROY Gesendet, wenn ein Fenster zerstört wird. Es wird an die Fensterprozedur des Fensters gesendet, das zerstört wird, nachdem das Fenster vom Bildschirm entfernt wird.
Diese Nachricht wird zuerst an das Fenster gesendet, das zerstört wird, und dann an die untergeordneten Fenster (falls vorhanden) wie sie zerstört werden. Während der Verarbeitung der Nachricht kann davon ausgegangen werden, dass alle untergeordneten Fenster noch vorhanden sind.
WM_ENABLE Gesendet, wenn eine Anwendung den aktivierten Zustand eines Fensters ändert. Es wird an das Fenster gesendet, dessen aktivierter Zustand geändert wird. Diese Nachricht wird gesendet, bevor die EnableWindow-Funktion zurückgegeben wird, aber nach dem aktivierten Zustand (WS_DISABLED Formatvorlagenbit) des Fensters wurde geändert.
WM_ENTERSIZEMOVE Wird einmal an ein Fenster gesendet, nachdem er die Bewegungs- oder Größenschleife eingegeben hat. Das Fenster gibt die Bewegungs- oder Größenschleife ein, wenn der Benutzer auf die Titelleiste oder den Größenrahmen des Fensters klickt, oder wenn das Fenster die WM_SYSCOMMAND Nachricht an die Funktion DefWindowProc übergibt und der wParam-Parameter der Nachricht den SC_MOVE- oder SC_SIZE-Wert angibt. Der Vorgang ist abgeschlossen, wenn DefWindowProc zurückgegeben wird.
Das System sendet die WM_ENTERSIZEMOVE Nachricht unabhängig davon, ob das Ziehen von vollständigen Fenstern aktiviert ist.
WM_ERASEBKGND Gesendet, wenn der Fensterhintergrund gelöscht werden muss (z. B. wenn ein Fenster geändert wird). Die Nachricht wird gesendet, um einen ungültigen Teil eines Fensters für die Malerei vorzubereiten.
WM_EXITSIZEMOVE Wird einmal an ein Fenster gesendet, nachdem er die Bewegungs- oder Größenschleife beendet hat. Das Fenster gibt die Bewegungs- oder Größenschleife ein, wenn der Benutzer auf den Titelbalken oder den Größenrahmen des Fensters klickt, oder wenn das Fenster die WM_SYSCOMMAND Nachricht an die Funktion DefWindowProc übergibt und der wParam-Parameter der Nachricht den SC_MOV E- oder SC_SIZE-Wert angibt. Der Vorgang ist abgeschlossen, wenn DefWindowProc zurückgegeben wird.
WM_GETICON Wird an ein Fenster gesendet, um einen Handle an das große oder kleine Symbol abzurufen, das einem Fenster zugeordnet ist. Das System zeigt das große Symbol im Dialogfeld ALT+TAB und das kleine Symbol in der Fensterbeschriftung an.
WM_GETMINMAXINFO Wird an ein Fenster gesendet, wenn die Größe oder Position des Fensters geändert wird. Eine Anwendung kann diese Nachricht verwenden, um die Standardmäßige maximierte Größe und Position des Fensters zu außer Kraft setzen oder die mindest- oder maximale Nachverfolgungsgröße des Fensters zu überschreiben.
WM_INPUTLANGCHANGE Gesendet an das am häufigsten betroffene Fenster, nachdem die Eingabesprache einer Anwendung geändert wurde. Sie sollten anwendungsspezifische Einstellungen vornehmen und die Nachricht an die DefWindowProc-Funktion übergeben, die die Nachricht an alle untergeordneten Fenster der ersten Ebene übergibt. Diese untergeordneten Fenster können die Nachricht an DefWindowProc übergeben, um die Nachricht an ihre untergeordneten Fenster zu übergeben.
WM_INPUTLANGCHANGEREQUEST Veröffentlicht im Fenster mit dem Fokus, wenn der Benutzer eine neue Eingabesprache auswäht, entweder mit dem Hotkey (angegeben in der Tastatur-Systemsteuerungsanwendung) oder aus dem Indikator auf der System-Taskleiste. Eine Anwendung kann die Änderung annehmen, indem Sie die Nachricht an die DefWindowProc-Funktion übergeben oder die Änderung ablehnen (und verhindern, dass die Änderung stattfindet), indem Sie sofort zurückgegeben werden.
WM_MOVE Gesendet, nachdem ein Fenster verschoben wurde.
WM_MOVING Gesendet an ein Fenster, das der Benutzer bewegt. Durch die Verarbeitung dieser Nachricht kann eine Anwendung die Position des Ziehen-Rechtecks überwachen und bei Bedarf die Position ändern.
WM_NCACTIVATE Wird an ein Fenster gesendet, wenn der Nichtclientbereich geändert werden muss, um einen aktiven oder inaktiven Zustand anzugeben.
WM_NCCALCSIZE Gesendet, wenn die Größe und Position des Clientbereichs eines Fensters berechnet werden muss. Durch die Verarbeitung dieser Nachricht kann eine Anwendung den Inhalt des Clientbereichs des Fensters steuern, wenn sich die Größe oder Position des Fensters ändert.
WM_NCCREATE Wird vor der WM_CREATE Nachricht gesendet, wenn ein Fenster zuerst erstellt wird.
WM_NCDESTROY Informiert ein Fenster, dass sein Nichtclientbereich zerstört wird. Die Funktion "DestroyWindow " sendet die WM_NCDESTROY Nachricht an das Fenster nach der WM_DESTROY Nachricht. WM_DESTROY wird verwendet, um das zugeordnete Speicherobjekt freizugeben, das dem Fenster zugeordnet ist.
Die WM_NCDESTROY Nachricht wird gesendet, nachdem die untergeordneten Fenster zerstört wurden. Im Gegensatz dazu wird WM_DESTROY gesendet, bevor die untergeordneten Fenster zerstört werden.
WM_NULL Führt keinen Vorgang aus. Eine Anwendung sendet die WM_NULL Nachricht, wenn sie eine Nachricht posten möchte, die das Empfängerfenster ignoriert.
WM_PARENTNOTIFY Wird an das übergeordnete Fenster eines untergeordneten Fensters gesendet, wenn das untergeordnete Fenster erstellt oder zerstört wird, oder wenn der Benutzer auf eine Maustaste klickt, während der Cursor über das untergeordnete Fenster liegt. Wenn das untergeordnete Fenster erstellt wird, sendet das System WM_PARENTNOTIFY direkt vor der CreateWindow- oder CreateWindowEx-Funktion, die das Fenster erstellt. Wenn das untergeordnete Fenster zerstört wird, sendet das System die Nachricht vor einer Verarbeitung, um das Fenster zu zerstören.
WM_QUERYDRAGICON Gesendet an ein minimiertes (ikonisches) Fenster. Das Fenster wird vom Benutzer gezogen, hat aber kein Symbol für seine Klasse definiert. Eine Anwendung kann einen Handle an ein Symbol oder Cursor zurückgeben. Das System zeigt diesen Cursor oder ein Symbol an, während der Benutzer das Symbol zieht.
WM_QUERYOPEN Wird an ein Symbol gesendet, wenn der Benutzer anfordert, dass das Fenster auf seine vorherige Größe und Position wiederhergestellt wird.
WM_QUIT Gibt eine Anforderung an, eine Anwendung zu beenden und wird generiert, wenn die Anwendung die PostQuitMessage-Funktion aufruft. Es führt dazu, dass die GetMessage-Funktion null zurückgibt.
WM_SHOWWINDOW Wird an ein Fenster gesendet, wenn das Fenster ausgeblendet oder angezeigt wird.
WM_SIZE Gesendet an ein Fenster, nachdem sich die Größe geändert hat.
WM_SIZING Wird an ein Fenster gesendet, in dem der Benutzer die Größe ändert. Durch die Verarbeitung dieser Nachricht kann eine Anwendung die Größe und Position des Ziehen-Rechtecks überwachen und bei Bedarf die Größe oder Position ändern.
WM_STYLECHANGED Ssent zu einem Fenster, nachdem die Funktion SetWindowLong eine oder mehrere der Formatvorlagen des Fensters geändert hat.
WM_STYLECHANGING Wird an ein Fenster gesendet, wenn die Funktion "SetWindowLong " eine oder mehrere der Formatvorlagen des Fensters ändern soll.
WM_THEMECHANGED Übertragen auf jedes Fenster nach einem Designänderungsereignis. Beispiele für Designänderungsereignisse sind die Aktivierung eines Designs, die Deaktivierung eines Designs oder einen Übergang von einem Design zu einem anderen.
WM_USERCHANGED Gesendet an alle Fenster, nachdem sich der Benutzer angemeldet oder deaktiviert hat. Wenn sich der Benutzer anmeldet oder deaktiviert, aktualisiert das System die benutzerspezifischen Einstellungen. Das System sendet diese Nachricht unmittelbar nach dem Aktualisieren der Einstellungen.
WM_WINDOWPOSCHANGED Gesendet an ein Fenster, dessen Größe, Position oder Position in der Z-Reihenfolge aufgrund eines Aufrufs an die Funktion "SetWindowPos " oder eine andere Fensterverwaltungsfunktion geändert wurde.
WM_WINDOWPOSCHANGING Gesendet an ein Fenster, dessen Größe, Position oder Position in der Z-Reihenfolge aufgrund eines Aufrufs an die Funktion "SetWindowPos " oder eine andere Fensterverwaltungsfunktion geändert werden soll.

 

Fensterstrukturen

Name Beschreibung
ALTTABINFO Enthält Statusinformationen für das Anwendungswechselfenster (ALT+TAB).
CHANGEFILTERSTRUCT Enthält erweiterte Ergebnisinformationen, die durch Aufrufen der Funktion "ChangeWindowMessageFilterEx " abgerufen werden.
CLIENTCREATESTRUCT Enthält Informationen zum Menü und dem ersten untergeordneten MDI-Fenster (Multiple-Document Interface, MDI) eines MDI-Clientfensters. Eine Anwendung übergibt einen Zeiger an diese Struktur als lpParam-Parameter der CreateWindow-Funktion beim Erstellen eines MDI-Clientfensters.
CREATESTRUCT Definiert die Initialisierungsparameter, die an die Fensterprozedur einer Anwendung übergeben werden. Diese Elemente sind identisch mit den Parametern der CreateWindowEx-Funktion .
GUITHREADINFO Enthält Informationen zu einem GUI-Thread.
MINMAXINFO Enthält Informationen über die maximierte Größe und Position eines Fensters und seine minimale und maximale Nachverfolgungsgröße.
NCCALCSIZE_PARAMS Enthält Informationen, die eine Anwendung beim Verarbeiten der WM_NCCALCSIZE Nachricht verwenden kann, um die Größe, Position und gültige Inhalte des Clientbereichs eines Fensters zu berechnen.
STYLESTRUCT Enthält die Formatvorlagen für ein Fenster.
TITLEBARINFO Enthält Titelleisteninformationen.
TITLEBARINFOEX Erweitert die informationen, die in der TITLEBARINFO-Struktur beschrieben werden, indem die Koordinaten jedes Elements der Titelleiste eingeschlossen werden.
UPDATELAYEREDWINDOWINFO Wird von UpdateLayeredWindowIndirect verwendet, um Position, Größe, Form, Inhalt und Translucency-Informationen für ein layeriertes Fenster bereitzustellen.
WINDOWINFO Enthält Fensterinformationen.
FENSTERPLATZIERUNG Enthält Informationen zur Platzierung eines Fensters auf dem Bildschirm.
WINDOWPOS Enthält Informationen zur Größe und Position eines Fensters.

 

Fensterkonstanten

Name Beschreibung
Erweiterte Fensterformatvorlagen Formatvorlagen, die angegeben werden können, wenn eine erweiterte Fensterformatvorlage erforderlich ist.
Fensterstile Formatvorlagen, die überall angegeben werden können, wo eine Fensterformatvorlage erforderlich ist. Nachdem das Steuerelement erstellt wurde, können diese Formatvorlagen nicht geändert werden, außer wie erwähnt.