Функция AnimateWindow (winuser.h)
Позволяет создавать специальные эффекты при отображении или скрытии окон. Существует четыре типа анимации: переворачивание, скольжение, свертывание или развертывание, а также альфа-смешивание.
Синтаксис
BOOL AnimateWindow(
[in] HWND hWnd,
[in] DWORD dwTime,
[in] DWORD dwFlags
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор для анимируемого окна. Вызывающий поток должен владеть этим окном.
[in] dwTime
Тип: DWORD
Время, необходимое для воспроизведения анимации, в миллисекундах. Как правило, для воспроизведения анимации требуется 200 миллисекунда.
[in] dwFlags
Тип: DWORD
Тип анимации. Этот параметр может иметь одно или несколько из следующих значений. Обратите внимание, что по умолчанию эти флаги вступают в силу при отображении окна. Чтобы ввести в действие при скрытии окна, используйте AW_HIDE и логический оператор OR с соответствующими флагами.
Возвращаемое значение
Тип: BOOL
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Функция завершится ошибкой в следующих ситуациях:
- Если окно уже отображается и вы пытаетесь отобразить окно.
- Если окно уже скрыто и вы пытаетесь скрыть окно.
- Значение , если для анимации слайда или ролл-анимации не указано направление.
- При попытке анимировать дочернее окно с помощью AW_BLEND.
- Если поток не является владельцем окна. Обратите внимание, что в этом случае AnimateWindow завершается сбоем, но GetLastError возвращает ERROR_SUCCESS.
Комментарии
Чтобы отобразить или скрыть окно без специальных эффектов, используйте команду ShowWindow.
При использовании анимации слайда или ролл-анимации необходимо указать направление. Это может быть AW_HOR_POSITIVE, AW_HOR_NEGATIVE, AW_VER_POSITIVE или AW_VER_NEGATIVE.
Вы можете объединять AW_HOR_POSITIVE или AW_HOR_NEGATIVE с AW_VER_POSITIVE или AW_VER_NEGATIVE для анимации окна по диагонали.
Процедуры окна и его дочерних окон должны обрабатывать любые сообщения WM_PRINT или WM_PRINTCLIENT . Диалоговые окна, элементы управления и общие элементы управления уже обрабатывают WM_PRINTCLIENT. Процедура окна по умолчанию уже обрабатывает WM_PRINT.
Если дочернее окно отображается частично обрезано, при анимированном анимации в нем будут отверстия, в которых оно обрезается.
AnimateWindow поддерживает окна RTL.
Избегайте анимации окна с тенью, так как оно создает визуально отвлекающие эффекты анимации.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-window-l1-1-0 (представлено в Windows 8) |
См. также раздел
Основные понятия
Другие ресурсы
Справочные материалы