DeferWindowPos
9/9/2008
Essa função atualiza o múltiplo especificado-janela estrutura posição para a janela especificada. A função retorna o identificador para a estrutura atualizada. O EndDeferWindowPos função usa as informações nessa estrutura para alteração de posição e tamanho de um número de janelas simultaneamente. O BeginDeferWindowPos função cria a estrutura.
Syntax
HDWP DeferWindowPos(
HDWP hWinPosInfo,
HWND hWnd,
HWND hWndInsertAfter,
int x,
int y,
int cx,
int cy,
UNIT uFlags
);
Parameters
- hWinPosInfo
[no] Identificador para um múltiplo-janela — estrutura posição que contém informações tamanho e posição de um ou mais janelas. Essa estrutura é retornada pela BeginDeferWindowPos Ou o chamar mais recente para DeferWindowPos.
- hWnd
[no] Identificador para a janela para o qual atualização informações são armazenadas na estrutura.
hWndInsertAfter
[no] Identificador para a janela que precede a janela posicionada na z-ordem. Este parâmetro deve ser um identificador janela ou um do seguinte valores.Valor Descrição HWND_BOTTOM
Coloca a janela na inferior de z-ordem. 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 inferior de todas as outras janelas.
HWND_NOTOPMOST
Coloca a janela Windows acima de todos os não-primeiro (isto é, por trás todas as janelas de nível superior). Este sinalizador não terá nenhum efeito se a janela já é uma janela non-topmost.
HWND_TOP
Coloca a janela na parte superior de z-ordem.
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 for definido na uFlags parâmetro.
- x
[no] Especifica o x-coordenar de upper-left corner a janela.
- y
[no] Especifica a y-coordenar de upper-left corner a janela.
- CX
[no] Especifica nova largura a janela, em pixels.
- CY
[no] Especifica nova altura a janela, em pixels.
uFlags
[no] Especifica uma combinação dos seguinte valores que afetam o tamanho e posição da janela.Valor Descrição SWP_DRAWFRAME
Sem suporte em Windows Embedded CE.
SWP_FRAMECHANGED
Causas o sistema operacional para recalcular o tamanho e posição da área de cliente Windows, mesmo se o tamanho janela não está sendo alterado. Se este sinalizador não for especificado, a área cliente é recalculada somente quando o tamanho ou posição da janela é alterada.
SWP_HIDEWINDOW
Oculta a janela.
SWP_NOACTIVATE
Não ativa a janela. Se este sinalizador não estiver definida, a janela é ativada e movida para a parte superior de ambos o GRUPO de nível superior ou non-topmost (depending on a configuração do hWndInsertAfter parâmetro).
SWP_NOCOPYBITS
Sem suporte em Windows Embedded CE.
SWP_NOMOVE
Mantém a atual posição (ignora o X e Y Parâmetros).
SWP_NOOWNERZORDER
Não alteração posição do janela proprietária na z-ordem.
SWP_NOREDRAW
Sem suporte em Windows Embedded CE.
SWP_NOREPOSITION
Mesmo que o sinalizador SWP_NOOWNERZORDER.
SWP_NOSENDCHANGING
Sem suporte em Windows Embedded CE.
SWP_NOSIZE
Mantém a atual tamanho (ignora o CX e CY Parâmetros).
SWP_NOZORDER
Mantém a atual z-ordem (ignora o hWndInsertAfter parâmetro).
SWP_SHOWWINDOW
Exibe a janela.
Return Value
O valor de retorno identifica o múltiplo atualizado - janela – posição estrutura. O identificador retornado por essa função pode diferir do identificador passado para a função. O novo identificador que essa função retorna deve ser passado durante o próximo chamar para o DeferWindowPos Ou EndDeferWindowPos função.
NULL Indica que são recursos sistema insuficiente disponível para a função seja bem-sucedida. Para informações de erro estendidas get, chamar GetLastError.
Remarks
Se um chamar para DeferWindowPos falhar, o aplicativo deve abandonar a janela-posicionamento operação e não chamar EndDeferWindowPos.
Se SWP_NOZORDER não for especificado, o sistema coloca a janela identificada pelo hWnd parâmetro no seguinte a posição de janela identificada pelo hWndInsertAfter parâmetro. Se hWndInsertAfter é NULL ou HWND_TOP, locais em que o sistema a hWnd janela na parte superior de z-ordem. Se hWndInsertAfter é definido como HWND_BOTTOM, locais em que o sistema a hWnd janela na inferior de z-ordem.
Todas as coordenadas de janelas filho são relativo para o upper-left corner da área cliente da janela pai.
Uma janela pode ser feita uma janela de nível superior por configuração hWndInsertAfter Para o sinalizador HWND_TOPMOST e garantir que o sinalizador SWP_NOZORDER não está definido ou pela configuração posição da janela na z-ordem de forma que ele é acima todas as janelas de nível superior existentes. Quando uma janela non-topmost é feita de nível superior, seus proprietário janelas também são feitas de nível superior. No entanto, seus proprietários, não são alterados.
Se nem o SWP_NOACTIVATE SWP_NOZORDER sinalizador for especificado (ou seja, quando o aplicativo solicita que uma janela simultaneamente ser ativado e sua posição na z-ordem alterada), o valor especificado em hWndInsertAfter é usado somente no seguinte circunstâncias:
- Sinalizador nem o HWND_TOPMOST HWND_NOTOPMOST é especificado na hWndInsertAfter.
- A janela identificada por hWnd não é a janela ativa.
Um aplicativo não é possível ativar um janela inativa sem também colocando-lo para o parte superior da z-ordem. Um aplicativo pode alteração posição da janela um ativado na z-ordem sem restrições, ou ele pode ativar uma janela e, em seguida, mover para o parte superior das janelas de nível superior ou non-topmost.
Uma janela de nível superior não está mais superior se ele é reposicionado para a inferior (HWND_BOTTOM) de z-ordem ou após qualquer janela non-topmost. Quando uma janela de nível superior é feita sem primeira, seus proprietários e suas janelas de proprietário também são feitas as janelas 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 diálogo) pertencente uma janela de nível superior é feita uma janela de nível superior para garantir que todos os pertencentes stay janelas acima seu proprietário.
Requirements
Header | winuser.h |
Windows Embedded CE | Windows CE 2.10 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |