Message WM_SIZE
Envoyé à une fenêtre après que sa taille a été modifiée.
Une fenêtre reçoit ce message à travers sa fonction WindowProc.
#define WM_SIZE 0x0005
Paramètres
-
wParam
-
Type de redimensionnement demandé. Ce paramètre peut prendre les valeurs suivantes.
Valeur Signification - SIZE_MAXHIDE
- 4
Le message est envoyé à toutes les fenêtres contextuelles quand une autre fenêtre est agrandie. - SIZE_MAXIMIZED
- 2
La fenêtre a été agrandie. - SIZE_MAXSHOW
- 3
Le message est envoyé à toutes les fenêtres contextuelles quand une autre fenêtre a été restaurée à sa taille antérieure. - SIZE_MINIMIZED
- 1
La fenêtre a été réduite. - SIZE_RESTORED
- 0
La fenêtre a été redimensionnée, mais ni SIZE_MINIMIZED ni SIZE_MAXIMIZED ne s’applique. -
lParam
-
Le mot d’ordre faible d’lParam spécifie la nouvelle largeur de la zone cliente.
Le mot d’ordre élevé d’lParam spécifie la nouvelle hauteur de la zone cliente.
Valeur retournée
Type : LRESULT
Si une application traite ce message, elle doit retourner à zéro.
Exemple
/******************************************************************
* *
* 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;
// ...
Exemple tiré des exemples classiques Windows sur GitHub.
Notes
Si la fonction SetScrollPos ou MoveWindow est appelée pour une fenêtre enfant suite au message WM_SIZE, le paramètre bRedraw ou bRepaint doit être différent de zéro pour que la fenêtre soit repeinte.
Bien que la largeur et la hauteur d’une fenêtre soient des valeurs 32 bits, le paramètre lParam contient uniquement les 16 bits d’ordre faible de chacune.
La fonction DefWindowProc envoie les messages WM_SIZE et WM_MOVE lorsqu’elle traite le message WM_WINDOWPOSCHANGED. Les messages WM_SIZE et WM_MOVE ne sont pas envoyés si une application gère le message WM_WINDOWPOSCHANGED sans appeler DefWindowProc.
Spécifications
Condition requise | Value |
---|---|
Client minimal pris en charge |
Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows 2000 Server [applications de bureau uniquement] |
En-tête |
|
Voir aussi
-
Référence
-
Conceptuel
-
Autres ressources