Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Atualiza a estrutura de posição de várias janelas especificada para a janela especificada. Em seguida, a função retorna um identificador para a estrutura atualizada. A função EndDeferWindowPos usa as informações nessa estrutura para alterar a posição e o tamanho de várias janelas simultaneamente. A função BeginDeferWindowPos cria a estrutura.
Sintaxe
HDWP DeferWindowPos(
[in] HDWP hWinPosInfo,
[in] HWND hWnd,
[in, optional] HWND hWndInsertAfter,
[in] int x,
[in] int y,
[in] int cx,
[in] int cy,
[in] UINT uFlags
);
Parâmetros
[in] hWinPosInfo
Tipo: HDWP
Um identificador para uma estrutura de posição de várias janelas que contém informações de tamanho e posição para uma ou mais janelas. Essa estrutura é retornada por BeginDeferWindowPos ou pela chamada mais recente para DeferWindowPos.
[in] hWnd
Tipo: HWND
Um identificador para a janela para a qual as informações de atualização são armazenadas na estrutura. Todas as janelas em uma estrutura de posição de várias janelas devem ter o mesmo pai.
[in, optional] hWndInsertAfter
Tipo: HWND
Um identificador para a janela que precede a janela posicionada na ordem Z. Esse parâmetro deve ser um identificador de janela ou um dos valores a seguir. Esse parâmetro será ignorado se o sinalizador de SWP_NOZORDER for definido no parâmetro uFlags .
[in] x
Tipo: int
A coordenada x do canto superior esquerdo da janela.
[in] y
Tipo: int
A coordenada y do canto superior esquerdo da janela.
[in] cx
Tipo: int
A nova largura da janela, em pixels.
[in] cy
Tipo: int
A nova altura da janela, em pixels.
[in] uFlags
Tipo: UINT
Uma combinação dos valores a seguir que afetam o tamanho e a posição da janela.
| Value | Meaning |
|---|---|
|
Desenha um quadro (definido na descrição da classe da janela) ao redor da janela. |
|
Envia uma mensagem WM_NCCALCSIZE para a janela, mesmo que o tamanho da janela não esteja sendo alterado. Se esse sinalizador não for especificado, WM_NCCALCSIZE será enviado somente quando o tamanho da janela estiver sendo alterado. |
|
Oculta a janela. |
|
Não ativa a janela. Se esse sinalizador não estiver definido, a janela será ativada e movida para a parte superior do grupo superior ou não superior (dependendo da configuração do parâmetro hWndInsertAfter ). |
|
Descarta todo o conteúdo da área do cliente. Se esse sinalizador não for especificado, o conteúdo válido da área do cliente será salvo e copiado de volta para a área do cliente depois que a janela for dimensionada ou reposicionada. |
|
Mantém a posição atual (ignora os parâmetros x e y ). |
|
Não altera a posição da janela do proprietário na ordem Z. |
|
Não redesenhe as alterações. Se esse sinalizador estiver definido, nenhum repositório de qualquer tipo ocorrerá. Isso se aplica à área do cliente, à área nãocliente (incluindo a barra de título e barras de rolagem) e a qualquer parte da janela pai descoberta como resultado da movimentação da janela. Quando esse sinalizador é definido, o aplicativo deve invalidar ou redesenhar explicitamente todas as partes da janela e da janela pai que precisam ser redesenhadas. |
|
O mesmo que o sinalizador SWP_NOOWNERZORDER . |
|
Impede que a janela receba a mensagem de WM_WINDOWPOSCHANGING . |
|
Retém o tamanho atual (ignora os parâmetros cx e cy ). |
|
Retém a ordem Z atual (ignora o parâmetro hWndInsertAfter ). |
|
Exibe a janela. |
Valor de retorno
Tipo: HDWP
O valor retornado identifica a estrutura de posição de várias janelas atualizadas. O identificador retornado por essa função pode ser diferente do identificador passado para a função. O novo identificador que essa função retorna deve ser passado durante a próxima chamada para a função DeferWindowPos ou EndDeferWindowPos .
Se recursos insuficientes do sistema estiverem disponíveis para que a função tenha êxito, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.
Observações
Se uma chamada para DeferWindowPos falhar, o aplicativo deverá abandonar a operação de posicionamento de janela e não chamar EndDeferWindowPos.
Se SWP_NOZORDER não for especificado, o sistema colocará a janela identificada pelo parâmetro hWnd na posição após a janela identificada pelo parâmetro hWndInsertAfter . Se hWndInsertAfter for NULL ou HWND_TOP, o sistema colocará a janela hWnd na parte superior da ordem Z. Se hWndInsertAfter estiver definido como HWND_BOTTOM, o sistema colocará a janela hWnd na parte inferior da ordem Z.
Todas as coordenadas para janelas filho são relativas ao canto superior esquerdo da área do cliente da janela pai.
Uma janela pode ser feita em uma janela superior definindo hWndInsertAfter para o sinalizador HWND_TOPMOST e garantindo que o sinalizador de SWP_NOZORDER não esteja definido ou definindo a posição da janela na ordem Z para que ela esteja acima de qualquer janela superior existente. Quando uma janela não superior é feita mais alto, suas janelas de propriedade também são feitas mais alto. Seus proprietários, no entanto, não são alterados.
Se nem o sinalizador SWP_NOACTIVATE nem SWP_NOZORDER for especificado (ou seja, quando o aplicativo solicitar que uma janela seja ativada simultaneamente e sua posição na ordem Z foi alterada), o valor especificado em hWndInsertAfter será usado apenas nas seguintes circunstâncias:
- Nem o sinalizador HWND_TOPMOST nem HWND_NOTOPMOST é especificado em hWndInsertAfter.
- A janela identificada pelo hWnd não é a janela ativa.
Uma janela superior não será mais superior se for reposicionada para a parte inferior (HWND_BOTTOM) da ordem Z ou após qualquer janela não superior. Quando uma janela superior é feita não superior, seus proprietários e suas próprias janelas também são feitas janelas não superiores.
Uma janela não superior pode ter uma janela superior, mas não vice-versa. Qualquer janela (por exemplo, uma caixa de diálogo) de propriedade de uma janela superior é feita em si uma janela superior para garantir que todas as janelas de propriedade permaneçam acima de seu proprietário.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 2000 Professional [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows 2000 Server [somente aplicativos da área de trabalho] |
| da Plataforma de Destino |
Windows |
| Header | winuser.h (inclua Windows.h) |
| Library | User32.lib |
| de DLL |
User32.dll |
| Conjunto de API | ext-ms-win-ntuser-window-l1-1-4 (introduzido no Windows 10, versão 10.0.14393) |
Consulte também
Conceitual
Referência