Лабораторная
работа №6.
Разработка виджета-окна для библиотеки интерфейсных элементов GUI
Задание
Для дальнейшей работы предоставляется шаблон, содержащий
- Базовый виджет TGWidget с возможностью хранения и управления вложенными виджетами. Для простоты,
виджет совмещает в одно свойство отношения владения и визуализации. Виджет может инициализироваться
как виджет верхнего уровня или как вложенный виджет, получает доступ к своим относительным и
абсолютным координатам, обеспечивает механизмы управления виджетами любой глубины вложенности и реакцию
на события (в шаблоне - только на событие onclick, остальные события программируются аналогичным образом).
- Простой виджет TGSimpleWidget, определяющий собственное изображение.
Воспользовавшись шаблоном, разработать
виджет-окно TGWWindow со следующими характеристиками:
-
Виджет должен обеспечивать корректное размещение в своих пределах других виджетов, в том числе
виджетов, разработанных в предыдущей лабораторной работе и модифицированных с учетом нового базового
класса виджета.
-
Виджет должен иметь визуально отображаемые границы и полосу заголовка с названием
окна и кнопкой закрытия, нажатие на которую генерирует уничтожение окна, а также полосу
статуса, которая может содержать произвольный текст, устанавливаемый отдельно для каждого
экземпляра окна.
-
Виджет должен обеспечивать свое перемещение и изменение размеров интерактивными средствами.
Для реализации данной возможности рекомендуется модифицировать реакцию на машиные события
с учетом понятия "фокус ввода".
Провести проверку работоспособности виджета-окна.