Анимация окна - AnimateWindowDelphi , Программа и Интерфейс , Размеры и ПоложениеАнимация окна - AnimateWindow
Автор: i-s-v Функция AnimateWindow дает Вам возможность производить специальные эффекты при показе или сокрытии окон. Имеются четыре типа мультипликации: ролик, слайд, свертывание или развертывание и плавное альфа-перетекание. Синтаксисfunction AnimateWindow(hwnd: HWND, dwTime: DWord, dwFlags: DWord); Параметры
Возвращаемые значения Если функция завершается успешно, величина возвращаемого значения - не ноль. Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Функция завершится ошибкой в нижеследующих ситуациях: Если окно использует регион окна. Windows XP: Это обстоятельство не заставляет функцию завершаться ошибкой. Если окно уже видимое, и Вы пробуете выводить на экран окно. Если окно уже скрытое, и Вы пробуете скрыть окно. Если нет заданного направления прокрутки для слайда или ролика. При попытке анимировать дочернее окно с флажком AW_BLEND. Если поток не владеет окном. Обратите внимание! что, в этом случае функция AnimateWindow завершается ошибкой, а GetLastError возвращает значение ERROR_SUCCESS. Чтобы получать расширенные данные об ошибках, вызовите функцию GetLastError. Замечания При использовании слайда или прокрутки мультипликации, Вы должны задать направление. Это может быть или 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. Избегайте анимировать окно, которое имеет тень, потому что оно производит видимое спонтанное дерганье мультипликации. Вот примерчики: procedure TForm1.FormShow(Sender: TObject); begin AnimateWindow(Handle, 500, AW_CENTER or AW_SLIDE); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin AnimateWindow(handle, 500, AW_BLEND or AW_HIDE); end; Статья Анимация окна - AnimateWindow раздела Программа и Интерфейс Размеры и Положение может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Размеры и Положение ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |