mensaje de WM_SIZE
Se envía a una ventana después de cambiar su tamaño.
Una ventana recibe este mensaje mediante la función WindowProc.
#define WM_SIZE 0x0005
-
wParam
-
Tipo de cambio de tamaño solicitado. Este parámetro puede ser uno de los valores siguientes.
Valor Significado - SIZE_MAXHIDE
- 4
El mensaje se envía a todas las ventanas emergentes cuando se maximiza alguna otra ventana. - SIZE_MAXIMIZED
- 2
La ventana se ha maximizado. - SIZE_MAXSHOW
- 3
El mensaje se envía a todas las ventanas emergentes cuando se ha restaurado alguna otra ventana a su tamaño anterior. - SIZE_MINIMIZED
- 1
La ventana se ha minimizado. - SIZE_RESTORED
- 0
Se ha cambiado el tamaño de la ventana, pero no se aplica ni el SIZE_MINIMIZED ni el valor SIZE_MAXIMIZED. -
lParam
-
La palabra de orden bajo de lParam especifica el nuevo ancho del área de cliente.
La palabra de orden superior de lParam especifica el nuevo alto del área de cliente.
Tipo: LRESULT
Si la aplicación procesa este mensaje, debe devolver cero.
/******************************************************************
* *
* 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;
// ...
Ejemplo de ejemplos clásicos de Windows en GitHub.
Si se llama a la función SetScrollPos o MoveWindow para una ventana secundaria como resultado del mensaje de WM_SIZE, el parámetro bRedraw o bRepaint debe ser distinto de cero para que la ventana se vuelva a dibujar.
Aunque el ancho y el alto de una ventana son valores de 32 bits, el parámetro lParam contiene solo los 16 bits de orden bajo de cada uno.
La función DefWindowProc envía los mensajes WM_SIZE y WM_MOVE cuando procesa el mensaje de WM_WINDOWPOSCHANGED. Los mensajes WM_SIZE y WM_MOVE no se envían si una aplicación controla el mensaje de WM_WINDOWPOSCHANGED sin llamar a DefWindowProc.
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
-
Referencia
-
Conceptual
-
Otros recursos