Программирование для Windows с помощью библиотеки объектов OWL - стр. 88
Декорированные окна
В библиотеке OWL предусмотрены средства для создания в окне приложения специальных приспособлений - панели, или линейки инструментов, инструментального планшета и линейки, или строки состояния (статусной строки). Окно с такого рода приспособлениями принадлежит классу TDecoratedWin-
![]() |
dow и называется декорированным окном. Как видно из рис. 29.4, этот класс является производным как от класса окон с рамками TFrameWindow, так и от класса TLayoutWindow, обеспечивающего поведение окон, размеры и положение которых взаимозависимы. С помощью класса TLayoutWindow можно, например, создать дочернее окно, которое будет пропорционально изменять свои размеры при изменении размеров родительского окна, или располагаться всегда на определенном расстоянии от его границ; можно задать жесткую связь между правой границей одного дочернего окна и левой границей другого, что как бы "приклеивает" их друг к другу. В рассматриваемом далее примере эти возможности пригодятся для создания окна-клиента, совпадающего по размерам с главным окном приложения.
Класс TDecoratedFrame, включая в себя все возможности классов TFrameWindow и TLayoutWindow, добавляет к ним еще и средства размещения в окне разного рода приспособлений с заданными характеристиками поведения.
Сами приспособления выделены в библиотеке OWL в отдельную группу классов, являющихся производными от базового класса TGadget (рис. 29.5). В рассматриваемом далее примере будут использованы классы TButtonGadget и TSeparatorGadget.
![]() |
Наконец, такие инструменты, как инструментальная линейка, инструментальный планшет или строка состояния образуются с помощью группы классов, производных от базового для них класса TGadget-Window (который сам выводится из класса TWindow, рис. 29.6). Мы приведем примеры использования
![]() |
классов TToolBox, TMessageBar и TControlBar. Рассмотренный ниже пример 29-3 приложения с декорированным окном является переработкой примера 28-4, в котором в главное окно приложения выводилось графическое отображение некоторого массива данных, причем форму представления графика можно было изменять с помощью немодального диалогового окна. В примере 29-3. для изменения формы представления данных, а также цвета графика вместо диалога с кнопками настройки используется классический набор инструментов декорированного окна (рис. 29.7).