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.
Wird an ein Fenster gesendet, nachdem sich die Größe geändert hat.
Ein Fenster empfängt diese Meldung über die WindowProc-Funktion.
#define WM_SIZE 0x0005
Parameter
-
wParam
-
Der Typ der angeforderten Größenänderung. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert Bedeutung - SIZE_MAXHIDE
- 4
Die Nachricht wird an alle Popupfenster gesendet, wenn ein anderes Fenster maximiert wird. - SIZE_MAXIMIZED
- 2
Das Fenster wurde maximiert. - SIZE_MAXSHOW
- 3
Die Nachricht wird an alle Popupfenster gesendet, wenn ein anderes Fenster in seiner früheren Größe wiederhergestellt wurde. - SIZE_MINIMIZED
- 1
Das Fenster wurde minimiert. - SIZE_RESTORED
- 0
Die Größe des Fensters wurde geändert, aber weder der Wert SIZE_MINIMIZED noch der Wert SIZE_MAXIMIZED gilt. -
lParam
-
Das Wort lParam in niedriger Reihenfolge gibt die neue Breite des Clientbereichs an.
Das Wort lParam in hoher Reihenfolge gibt die neue Höhe des Clientbereichs an.
Rückgabewert
Typ: LRESULT
Wenn eine Anwendung diese Meldung verarbeitet, sollte sie 0 (null) zurückgeben.
Beispiel
/******************************************************************
* *
* SimpleText::OnResize *
* *
* If the application receives a WM_SIZE message, this method *
* resize the render target appropriately. *
* *
******************************************************************/
void SimpleText::OnResize(UINT width, UINT height)
{
if (pRT_)
{
D2D1_SIZE_U size;
size.width = width;
size.height = height;
pRT_->Resize(size);
}
}
LRESULT CALLBACK SimpleText::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
SimpleText *pSimpleText = reinterpret_cast<SimpleText *>(
::GetWindowLongPtr(hwnd, GWLP_USERDATA));
if (pSimpleText)
{
switch(message)
{
case WM_SIZE:
{
UINT width = LOWORD(lParam);
UINT height = HIWORD(lParam);
pSimpleText->OnResize(width, height);
}
return 0;
// ...
Beispiel aus Klassische Windows-Beispiele auf GitHub.
Hinweise
Wenn die SetScrollPos- oder MoveWindow-Funktion als Ergebnis der WM_SIZE-Meldung aufgerufen wird, sollte der Parameter bRedraw oder bRepaint ungleich null sein, damit das Fenster aktualisiert wird.
Obwohl die Breite und Höhe eines Fensters 32-Bit-Werte sind, enthält der lParam-Parameter nur die 16 Bit mit niedriger Reihenfolge.
Die DefWindowProc-Funktion sendet die Meldungen WM_SIZE und WM_MOVE, wenn sie die Meldung WM_WINDOWPOSCHANGED verarbeitet. Die Meldungen WM_SIZE und WM_MOVE werden nicht gesendet, wenn eine Anwendung die Meldung WM_WINDOWPOSCHANGED behandelt, ohne DefWindowProc aufzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Siehe auch
-
Referenz
-
Konzept
-
Weitere Ressourcen