Função AnimateWindow (winuser.h)

Permite que você produza efeitos especiais ao mostrar ou ocultar janelas. Há quatro tipos de animação: rolar, deslizar, recolher ou expandir e fade combinado alfa.

Sintaxe

BOOL AnimateWindow(
  [in] HWND  hWnd,
  [in] DWORD dwTime,
  [in] DWORD dwFlags
);

Parâmetros

[in] hWnd

Digite: HWND

Um identificador para a janela a ser animada. O thread de chamada deve ser o proprietário dessa janela.

[in] dwTime

Tipo: DWORD

O tempo necessário para reproduzir a animação, em milissegundos. Normalmente, uma animação leva 200 milissegundos para ser reproduzida.

[in] dwFlags

Tipo: DWORD

O tipo de animação. Esse parâmetro pode usar um dos valores a seguir. Observe que, por padrão, esses sinalizadores entrarão em vigor ao mostrar uma janela. Para entrar em vigor ao ocultar uma janela, use AW_HIDE e um operador OR lógico com os sinalizadores apropriados.

Valor Significado
AW_ACTIVATE
0x00020000
Ativa a janela. Não use esse valor com AW_HIDE.
AW_BLEND
0x00080000
Usa um efeito fade. Esse sinalizador só poderá ser usado se hwnd for uma janela de nível superior.
AW_CENTER
0x00000010
Faz com que a janela pareça recolher para dentro se AW_HIDE for usado ou expandir para fora se o AW_HIDE não for usado. Os vários sinalizadores de direção não têm efeito.
AW_HIDE
0x00010000
Oculta a janela. Por padrão, a janela é mostrada.
AW_HOR_POSITIVE
0x00000001
Anima a janela da esquerda para a direita. Esse sinalizador pode ser usado com animação de rolagem ou slide. Ele é ignorado quando usado com AW_CENTER ou AW_BLEND.
AW_HOR_NEGATIVE
0x00000002
Anima a janela da direita para a esquerda. Esse sinalizador pode ser usado com animação de rolagem ou slide. Ele é ignorado quando usado com AW_CENTER ou AW_BLEND.
AW_SLIDE
0x00040000
Usa animação de slide. Por padrão, a animação roll é usada. Esse sinalizador é ignorado quando usado com AW_CENTER.
AW_VER_POSITIVE
0x00000004
Anima a janela de cima para baixo. Esse sinalizador pode ser usado com animação de rolagem ou slide. Ele é ignorado quando usado com AW_CENTER ou AW_BLEND.
AW_VER_NEGATIVE
0x00000008
Anima a janela de baixo para cima. Esse sinalizador pode ser usado com animação de rolagem ou slide. Ele é ignorado quando usado com AW_CENTER ou AW_BLEND.

Valor retornado

Tipo: BOOL

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. A função falhará nas seguintes situações:

  • Se a janela já estiver visível e você estiver tentando mostrar a janela.
  • Se a janela já estiver oculta e você estiver tentando ocultar a janela.
  • Se não houver nenhuma direção especificada para a animação de slide ou roll.
  • Ao tentar animar uma janela filho com AW_BLEND.
  • Se o thread não possui a janela. Observe que, nesse caso, AnimateWindow falha, mas GetLastError retorna ERROR_SUCCESS.
Para obter informações de erro estendidas, chame a função GetLastError.

Comentários

Para mostrar ou ocultar uma janela sem efeitos especiais, use ShowWindow.

Ao usar a animação de slide ou roll, você deve especificar a direção. Pode ser AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE ou AW_VER_NEGATIVE.

Você pode combinar AW_HOR_POSITIVE ou AW_HOR_NEGATIVE com AW_VER_POSITIVE ou AW_VER_NEGATIVE para animar uma janela diagonalmente.

Os procedimentos de janela para a janela e suas janelas filho devem lidar com qualquer WM_PRINT ou mensagens WM_PRINTCLIENT . Caixas de diálogo, controles e controles comuns já lidam com WM_PRINTCLIENT. O procedimento de janela padrão já manipula WM_PRINT.

Se uma janela filho for exibida parcialmente recortada, quando for animada, ela terá buracos onde é recortada.

AnimateWindow dá suporte a janelas RTL.

Evite animar uma janela que tenha uma sombra suspensa porque ela produz animações visualmente distrativas e irregulares.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll
Conjunto de APIs ext-ms-win-ntuser-window-l1-1-0 (introduzido no Windows 8)

Confira também

Conceitual

Outros recursos

Referência

Showwindow

WM_PRINT

WM_PRINTCLIENT

Windows