Помещение VCL компонентов в область заголовкаDelphi , Программа и Интерфейс , Заголовок формыПомещение VCL компонентов в область заголовкаЗдесь есть хитрость: Нужно разместить все необходимые элементы управления в отдельной форме, которая должна отслеживать перемещение и изменение размеров основной формы. Данная форма будет всегда находится над областью заголовка основной формы. Нижеприведенный проект включает в себя 2 формы и выпадающий список (combobox). После запуска программы список появляется в области заголовка главной формы. Два ключевых вопроса: 1) организация перехвата сообщения WM_MOVE главной формы; и 2) возвращение фокуса в главную форму после того, как пользователь нажмет на каком-либо элементе управления, способным иметь фокус (например, TComboBox, TButton и др.) Я использую 32-битную Delphi 2.0 под Win95, тем не менее данный код должен работать с любой версией Delphi. Вот исходный код главной формы:
Вот исходный код для псевдо-заголовка. Данная форма может содержать любые элементы управления VCL, которые вы хотите установить в области заголовка главной формы. По существу, это - независимый диалог со следующими свойствами:
И, наконец, исходный код для Form2:
Файл проекта (.DPR) довольно простой:
Это все! Хотя некоторые авторы книг утверждают: "Вы не можете установить компоненты Delphi в заголовок окна, точнее, не существует никакого способа установить их там." Зато существует иллюзия... Помещение VCL компонентов в область заголовка основной формы с помощью дополнительной формы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Заголовок формы ::
|
||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |