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
Parámetros
-
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.
Valor devuelto
Tipo: LRESULT
Si la aplicación procesa este mensaje, debe devolver cero.
Ejemplo
/******************************************************************
* *
* 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.
Comentarios
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.
Requisitos
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 |
|
Consulte también
-
Referencia
-
Conceptual
-
Otros recursos