WM_NCCALCSIZE

A mensagem WM_NCCALCSIZE é enviada quando o tamanho e posição da área cliente da janela devem ser calculados. Ao processamento esta mensagem, um aplicativo pode controlar o conteúdo da área cliente da janela quando altera o tamanho ou a posição da janela.

WM_NCCALCSIZE fCalcValidRects = (BOOL) wParam;        / / área válida bandeira lpncsp = lParam (LPNCCALCSIZE_PARAMS);  / / tamanho do cálculo dados ou lpncsp = lParam (LPRECT);               / / nova janela coordenadas 

 

Parâmetros

fCalcValidRects
O valor de wParam. Se wParam é TRUE, especifica que o pedido deve indicar qual parte da área de cliente contém informações válidas. O sistema copia a informação válida para a área especificada dentro de área cliente novo.

Se wParam é FALSE, o aplicativo não precisa indicar a parte válida da área do cliente.

lpncsp
Valor de lParam. Se TRUE wParam , lParam aponta para uma estrutura NCCALCSIZE_PARAMS que contém informações que um aplicativo pode usar para calcular o novo tamanho e posição do retângulo de cliente.

Se wParam é FALSE, lParam aponta para um RECT estrutura. Na entrada, a estrutura contém o Retangular de janela proposto para a janela. Na saída, a estrutura deve conter as coordenadas tela da área de cliente a janela correspondente.

Retornar valores

Se o parâmetro fCalcValidRects for FALSE, o aplicativo deve retornar zero.

Se fCalcValidRects for TRUE, o aplicativo deve retornar zero ou uma combinação dos seguintes valores:

Valor Significado
WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT
Estes valores, usados em combinação, especificam que a área cliente da janela deve ser preservada e adequadamente alinhados relativo para a nova posição da janela. Por exemplo, para alinhar a área do cliente para o canto inferior esquerdo, retornar os valores WVR_ALIGNLEFT e WVR_ALIGNBOTTOM.
WVR_HREDRAW, WVR_VREDRAW
Esses valores, usados em combinação com outros valores, fazer com que a janela a ser redesenhado completamente se as alterações de retângulo cliente tamanho horizontal ou verticalmente. Esses valores são semelhantes aos estilos de classe CS_HREDRAW e CS_VREDRAW.
WVR_REDRAW
Este valor faz com que toda a janela a ser redesenhado. É uma combinação de valores de WVR_HREDRAW e WVR_VREDRAW.
WVR_VALIDRECTS
Esse valor indica que, após retornar de WM_NCCALCSIZE, os retângulos especificados por rgrc [1] e rgrc [2] Membros da estrutura NCCALCSIZE_PARAMS contém destino válido e retângulos de área de origem, respectivamente. O sistema combina esses retângulos para calcular a área da janela para ser preservado. O sistema copia qualquer parte da imagem de janela que está dentro do retângulo de origem e recorta a imagem para o Retangular de destino. Ambos os retângulos estão em coordenadas pai-relativo ou relativo de tela.
Esse valor de retorno permite que um aplicativo implementar mais elaboradas estratégias de preservação de área de cliente, tais como centralização ou preservar um subconjunto da área do cliente.

Se fCalcValidRects é TRUE e um aplicativo retorna zero, a área de cliente antigo é preservada e está alinhada com o canto superior esquerdo da área cliente novo.

Ação padrão

A janela pode ser redesenhada, dependendo se o estilo de classe CS_HREDRAW ou CS_VREDRAW é especificado. Este é o padrão, compatível processamento desta mensagem pelo DefWindowProc função (além do cálculo de retângulo cliente habitual descrito na tabela anterior).

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Sem suporte.
Cabeçalho:Declarado em WinUser. h.

Ver também

Visão geral do Windows, mensagens de janela, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT

Index