Анимация окна приложения в трей при открытии и закрытии |
![]() |
![]() |
Статьи |
Заметьте, что когда Вы закрываете окно приложения в трей, это фактически не закрывает приложение, а просто скрывает окно и оставляет приложение выполняться в трее. Нет никакого визуального ключа, как если бы Вы свернули обычное приложение. Мы можем изменить это поведение, используя функцию DrawAnimateRects Windows API. Ниже приведен маленький статический класс, который Ваши приложения трея могут использовать, чтобы анимировать заголовок окна, сворачивая окно в трей, когда оно закрывается и разворачивание из трея, когда окно открывается.
Метод DoZoom просто повторяет вызов DrawAnimatedRects. GetTrayRect получает границы прямоугольника области трея панели задач. Два общих метода ZoomToTray и ZoomFromTray изменяют размер окна. Параметр Wnd для этих методов должен быть дескриптором окна формы, к которой Вы будете применять анимацию. Когда Ваше приложение открывается из трея, вызывайте TTrayZoom.ZoomFromTray. Вы можете это делать в обработчике события пункта меню OnClick. Когда Ваше приложение сворачивается в трей, вызывайте TTrayZoom.ZoomToTray. Это может быть сделано в обработчике события OnClose или OnCloseQuery формы. |