WM _ SIZE-Meldung
Wird an ein Fenster gesendet, nachdem seine Größe geändert wurde.
Ein Fenster empfängt diese Nachricht über seine WindowProc-Funktion.
#define WM_SIZE 0x0005
Parameter
-
wParam
-
Der Typ der angeforderten Größenver ändern. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert Bedeutung - SIZE _ MAXHIDE
- 4
Die Meldung wird an alle Popupfenster gesendet, wenn ein anderes Fenster maximiert ist. - SIZE _ MAXIMIERT
- 2
Das Fenster wurde maximiert. - SIZE _ MAXSHOW
- 3
Die Meldung wird an alle Popupfenster gesendet, wenn ein anderes Fenster auf seine frühere Größe wiederhergestellt wurde. - SIZE _ MINIMIERT 1
Das Fenster wurde minimiert. - SIZE _ RESTORED
- 0
Die Größe des Fensters wurde geändert, aber weder der Wert SIZE _ MINIMIZED noch SIZE _ MAXIMIZED gilt. -
lParam
-
Das niedrige Wort lParam gibt die neue Breite des Clientbereichs an.
Das obere Wort lParam gibt die neue Höhe des Clientbereichs an.
Rückgabewert
Typ: LRESULT
Wenn eine Anwendung diese Nachricht 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 Windows klassischen Beispielen auf GitHub.
Hinweise
Wenn die Funktion SetScrollPos oder MoveWindow als Ergebnis der WM _ SIZE-Meldung für ein untergeordnetes Fenster aufgerufen wird, sollte der Parameter bRedraw oder bRepaint ungleich 0 (null) sein, damit das Fenster neu gepaint wird.
Obwohl die Breite und Höhe eines Fensters 32-Bit-Werte sind, enthält der lParam-Parameter nur die niedrigen 16 Bits von jedem.
Die DefWindowProc-Funktion sendet die NACHRICHTEN WM _ SIZE und WM _ MOVE, wenn sie die WM _ WINDOWPOSCHANGED-Nachricht verarbeitet. Die NACHRICHTEN WM _ SIZE und WM _ MOVE werden nicht gesendet, wenn eine Anwendung die WM _ WINDOWPOSCHANGED-Nachricht ohne Aufruf von DefWindowProc verarbeitet.
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
-
Konzeptionellen
-
Andere Ressourcen