DeferWindowPos

O DeferWindowPos função atualiza o especificado Múltiplo-janela — estrutura posição para a janela especificada. A função retorna um identificador para a estrutura atualizada. A EndDeferWindowPos função usa as informações nessa estrutura para alterar a posição e o tamanho de várias janelas simultaneamente. A BeginDeferWindowPos função cria a estrutura de.

(HDWP DeferWindowPos HDWP  hWinPosInfo, / / manipular a estrutura internaHWNDhWnd, / / identificador para janela para posicionarHWNDhWndInsertAfter, / / lidar com a ordem de colocaçãoint x, / / horizontal posição int y, / / vertical posição int cx, // width int cy, // heightUINTuFlags / / janela posicionamento sinalizadores);
 

Parâmetros

hWinPosInfo
Identificador para uma Múltiplo-janela — estrutura posição que contém informações de tamanho e posição para uma ou mais janelas. Essa estrutura é retornada pelo BeginDeferWindowPos ou pela chamada mais recente DeferWindowPos.
hWnd
Identificador para a janela para que atualização de informações são armazenadas na estrutura.
hWndInsertAfter
Identificador para a janela que precede a janela posicionada na ordem Z. Este parâmetro deve ser um identificador janela ou um dos seguintes valores:
Valor Significado
HWND_BOTTOM Coloca a janela na parte inferior da ordem Z. Se a pasta hWnd parâmetro identifica uma janela de nível superior, a janela perde seu status de nível superior e é colocada na parte inferior de todas as outras janelas.
HWND_NOTOPMOST Coloca a janela windows acima de todos os não-superior (ou seja, por trás de todas as janelas de nível superior). Este sinalizador não tem efeito se a janela já está uma janela non-topmost.
HWND_TOP Coloca a janela na parte superior da ordem z.
HWND_TOPMOST Coloca a janela windows acima de todos os não-superior. A janela mantém sua posição superior mesmo quando ela é desativada.

Este parâmetro é ignorado se o sinalizador SWP_NOZORDER é definido no uFlags parâmetro.

x
Especifica a coordenada x do canto superior esquerdo da janela.
y
Especifica a y-coordenar do canto superior esquerdo da janela.
cx
Especifica a Novo largura da janela, em pixels.
cy
Especifica a Novo altura da janela, em pixels.
uFlags
Especifica uma combinação do seguinte valores que afetam o tamanho e posição da janela:
Valor Significado
SWP_DRAWFRAME Desenha um quadro (definido na descrição de classe da janela) próximo a janela.
SWP_FRAMECHANGED Envia uma mensagem WM_NCCALCSIZE à janela, mesmo se o tamanho da janela não está sendo alterado. Se este sinalizador não for especificado, WM_NCCALCSIZE é enviada somente quando o tamanho da janela está sendo alterado.
SWP_HIDEWINDOW Oculta a janela.
SWP_NOACTIVATE Não ativa a janela. Se este sinalizador não estiver definido, a janela é ativada e mudou-se para a parte superior do grupo nível superior ou non-topmost (depending on a configuração de hWndInsertAfter parâmetro).
SWP_NOCOPYBITS Descarta todo o conteúdo da área cliente. Se este sinalizador não for especificado, o válido conteúdo da área cliente é salvas e copiado voltar para a área cliente depois que a janela for dimensionada ou reposicionada.
SWP_NOMOVE Mantém a posição atual (ignora o x e y parâmetros).
SWP_NOOWNERZORDER Não alterar a posição da janela de proprietário na ordem z.
SWP_NOREDRAW Não redesenhar as alterações. Se este sinalizador estiver definido, não redesenho de qualquer espécie ocorre. Isto aplica-se à área do cliente, a área não cliente (incluindo a barra de título e barras de rolagem), e qualquer parte da janela pai descoberta como resultado de janela que está sendo movida. Quando este sinalizador estiver definido, o aplicativo deve explicitamente invalidar ou redesenhar as partes da janela e a janela pai que precisa redesenho.
SWP_NOREPOSITION Mesmo que o sinalizador SWP_NOOWNERZORDER.
SWP_NOSENDCHANGINGIMPEDE Impede que a janela de recebimento da mensagem WM_WINDOWPOSCHANGING.
SWP_NOSIZE Mantém o tamanho atual (ignora o cx e cy parâmetros).
SWP_NOZORDER Mantém a ordem z atual (ignora o hWndInsertAfter parâmetro).
SWP_SHOWWINDOW Exibe a janela.

Retornar valores

O valor de retorno identifica o múltiplo-janela — estrutura posição actualizado. O identificador retornado por essa função pode ser diferente o identificador passado para a função. O identificador novo que esta função retorna deve ser passado durante o próximo chamar para o DeferWindowPos ou EndDeferWindowPos função.

Se os recursos do sistema insuficientes estão disponíveis para a função seja bem-sucedida, o valor de retorno é NULL. Para informações de erro estendidas get, chamar GetLastError.

Observações

Se uma chamada DeferWindowPos falhar, o aplicativo deve abandonar a operação de posicionamento de janela e não chamar EndDeferWindowPos.

Se SWP_NOZORDER não for especificado, o sistema coloca a janela identificada pelo hWnd parâmetro na posição após a janela identificada por hWndInsertAfter parâmetro. Se hWndInsertAfter é NULL ou HWND_TOP, o sistema coloca a janela hWnd na parte superior da ordem Z. Se hWndInsertAfter é definido como HWND_BOTTOM, o sistema coloca a janela hWnd na parte inferior da ordem z.

Todas as coordenadas para janelas filho são relativo para o upper-Esquerda canto da área cliente da janela pai.

Uma janela pode ser feita uma janela de nível superior por configuração de hWndInsertAfter sinalizador a HWND_TOPMOST e garantir que o sinalizador SWP_NOZORDER não está definido, ou por configuração a posição da janela na ordem Z, para que fique acima de quaisquer janelas de nível superior existentes. Quando uma janela non-topmost é feita na extremidade superior, suas janelas de propriedade são também feitas na extremidade superior. Seus proprietários, no entanto, não são alterados.

Se o sinalizador SWP_NOZORDER nem SWP_NOACTIVATE é especificado (isto é, quando o aplicativo solicita que uma janela seja ativado simultaneamente e mudou sua posição na ordem Z), o valor especificado na hWndInsertAfter é usado somente nas seguintes circunstâncias:

Um aplicativo não é possível ativar uma janela inativa sem também trazê-lo para o topo da ordem Z. Um aplicativo pode alterar a posição da janela um ativado na ordem z sem restrições, ou ele pode ativar uma janela e, em seguida, movê-lo para a parte superior das janelas de nível superior ou non-topmost.

Uma janela de nível superior já não é mais alta se ele é reposicionado para baixo (HWND_BOTTOM) da ordem z ou após qualquer janela non-topmost. Quando uma janela de nível superior é feita não-superior, seus proprietários e suas janelas de propriedade são também feitas windows não-superior.

Uma janela non-topmost pode possuir uma janela de nível superior, mas não vice-versa. Qualquer janela (por exemplo, uma caixa de diálogo) pertencente uma janela de nível superior é feita uma janela de nível superior para garantir que todas as propriedade windows ficar acima dos respectivos proprietários.

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.
Biblioteca de importação:Use user32.lib.

Ver também

Visão geral sobre Windows, funções de janela, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow

Index