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);
| 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.
| 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. |
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.
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.
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.
Visão geral sobre Windows, funções de janela, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow