mensagem WM_SIZE
Enviado para uma janela depois que seu tamanho for alterado.
Uma janela recebe essa mensagem por meio da sua função WindowProc.
#define WM_SIZE 0x0005
Parâmetros
-
wParam
-
O tipo de redimensionamento solicitado. Esse parâmetro pode usar um dos valores a seguir.
Valor Significado - SIZE_MAXHIDE
- 4
A mensagem é enviada para todas as janelas pop-up quando alguma outra janela é maximizada. - SIZE_MAXIMIZED
- 2
A janela foi maximizada. - SIZE_MAXSHOW
- 3
A mensagem é enviada para todas as janelas pop-up quando alguma outra janela foi restaurada para seu tamanho anterior. - SIZE_MINIMIZED
- 1
A janela foi minimizada. - SIZE_RESTORED
- 0
A janela foi redimensionada, mas nem o valor SIZE_MINIMIZED nem SIZE_MAXIMIZED se aplica. -
lParam
-
A palavra de baixa ordem de lParam especifica a nova largura da área do cliente.
A palavra de alta ordem de lParam especifica a nova altura da área do cliente.
Valor retornado
Tipo: LRESULT
Se um aplicativo processar essa mensagem, ela deverá retornar zero.
Exemplo
/******************************************************************
* *
* 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;
// ...
Exemplo das Amostras do Windows Classic no GitHub.
Comentários
Se a função SetScrollPos ou MoveWindow for chamada para uma janela filho como resultado da mensagem WM_SIZE, o parâmetro bRedraw ou bRepaint deverá não ser zero para fazer com que a janela seja repintada.
Embora a largura e a altura de uma janela sejam valores de 32 bits, o parâmetro lParam contém apenas os 16 bits de ordem inferior de cada um.
A função DefWindowProc envia as mensagens WM_SIZE e WM_MOVE quando processa a mensagem WM_WINDOWPOSCHANGED. As mensagens WM_SIZE e WM_MOVE não serão enviadas se um aplicativo manipular a mensagem WM_WINDOWPOSCHANGED sem chamar DefWindowProc.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos para desktop] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Confira também
-
Referência
-
Conceitual
-
Outros recursos