Функция
AnimateWindowФункция
AnimateWindow дает Вам возможность производить специальные эффекты при показе или сокрытии окон. Имеются четыре типа мультипликации: ролик, слайд, свертывание или развертывание и плавное альфа-перетекание.Синтаксис
AnimateWindow(
); |
Параметры
hwnd
[in] Дескриптор окна, которое анимируется. Вызывающий поток должен владеть этим окном.
dwTime
[in] Устанавливает, сколько необходимо времени, чтобы воспроизвести мультипликацию, в миллисекундах. Как правило, воспроизведение мультипликации занимает 200 миллисекунд.
dwFlags
[in] Определяет тип мультипликации. Этот параметр может быть одно или несколько нижеследующих значений.
Обратите внимание! что, по умолчанию, эти флажки дают желаемый результат при показе окна. Чтобы получать желаемый результат при сокрытии окна, используйте флажок AW_HIDE и логический оператор OR с соответствующими флажками. |
Значение | Предназначение |
AW_SLIDE |
Использует слайдовую анимацию. По умолчанию используется анимационный ролик (прокрутка мультипликации). Этот флажок игнорируется тогда, когда пользуется с флажком AW_CENTER. |
AW_ACTIVATE |
Активизирует окно. Не используйте это значение совместно с AW_HIDE. |
AW_BLEND |
Использует эффект постепенного изменения. Этот флажок может быть использован только в том случае, если параметр hwnd - окно верхнего уровня. |
AW_HIDE |
Скрывает окно. По умолчанию, окно показывается на экран. |
AW_CENTER |
Делает вид окна сжатым в точку, если используется флажок AW_HIDE или раскрытым из точки до полного размера, если флажок AW_HIDE не используется. Различные предписывающие флаги не имеют никакого действия. |
AW_HOR_POSITIVE |
Анимирует окно слева направо. Этот флажок может быть использован с роликом или слайдом мультипликации. Он игнорируется, когда используется с флажком AW_CENTER или AW_BLEND. |
AW_HOR_NEGATIVE |
Анимирует окно справа налево. Этот флажок может быть использован с роликом или слайдом мультипликации. Он игнорируется, когда используется с флажком AW_CENTER или AW_BLEND. |
AW_VER_POSITIVE |
Анимирует окно сверху вниз. Этот флажок может быть использованы с роликом или слайдом мультипликации. Он игнорируется, когда используется с флажком AW_CENTER или AW_BLEND. |
AW_VER_NEGATIVE |
Анимирует окно снизу вверх. Этот флажок может быть использован с роликом или слайдом мультипликации. Он игнорируется, когда используется с флажком AW_CENTER или AW_BLEND. |
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не ноль.
Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Функция завершится ошибкой в нижеследующих ситуациях:
Обратите внимание! что, в этом случае функция AnimateWindow завершается ошибкой, а GetLastError возвращает значение ERROR_SUCCESS. |
Чтобы получать расширенные данные об ошибках, вызовите
функцию GetLastError.Замечания
Чтобы показать или скрыть окно без специальных эффектов, используйте функцию
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.Избегайте анимировать окно, которое имеет тень, потому что оно производит видимое спонтанное дерганье мультипликации.
Смотри также
, ShowWindow, WM_PRINT, WM_PRINTCLIENT
Размещение и совместимость AnimateWindow |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Нет |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Нет |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |