Тема 9. Система меню и панель инструментов приложения
Формы со вкладками
При разработке приложений БД часто требуется размещать на форме большой объем информации. Если размещаемые данные можно разделить на несколько групп, то в этом случае удобно использовать вкладки. Для создания форм со вкладками предназначен элемент управления PageControl, расположенный в палитре компонентов на вкладке Win32. Этот элемент обеспечивает создание многостраничных окон и на каждой странице можно размещать любые другие компоненты, включая и PageControl.
Для добавления вкладки используют команду New Page контекстного меню компонента PageControl. Удаляет вкладки команда Deleteконтекстного меню.
Меню является одним из наиболее важных элементов программного интерфейса. То же самое можно сказать и о панелях инструментов. Меню и панели инструментов есть практически во всех приложениях.
Разработка любого приложения начинается с его планирования. При создании приложения, предназначенного для работы с БД, можно условно выделить три основных этапа:
· разработка структуры БД, т.е. состава и структуры входящих в БД таблиц и отношений между ними;
· определение функций приложения;
· разработка интерфейса пользователя.
Перечисленные этапы можно выполнять в любой последовательности. Однако рекомендуется начинать с разработки структуры БД, т.к. значительная часть программного кода жестко привязана к ее структуре, Поэтому изменение структуры БД на завершающих стадиях разработки приложения может привести к возникновению трудно обнаружимых ошибок.
При разработке функций приложения определяют методы обработки данных, обеспечивают контроль вводимых пользователем значений, контроль удаления и модификации данных в таблицах.
Разработка интерфейса пользователя сводится к разработке форм, окон диалога, системы меню и панелей инструментов. И не стоит слишком оригинальничать! . . .
Меню окончательно формируется на последней стадии разработки, когда все функции программы определены и создан окончательный вариант используемой БД. Меню, как правило, содержит полный набор команд, обеспечивающих доступ пользователя к функциям приложения.
Панели инструментов содержат кнопки, обеспечивающие, в основном, быстрый доступ к командам меню. Имеет смысл обеспечить возможность настройки панелей инструментов пользователем. Полезно использовать в панелях инструментов всплывающие подсказки о назначении кнопок.
Строка главного меню располагается в верхней части главной формы приложения. Доступ к ее командам может осуществляться с помощью мыши и с помощью клавиатуры (для входа в главное меню зарезервирована клавиша Alt, а для навигации по командам меню используют клавиши управления курсором), а также с помощью специальных комбинаций клавиш.
Для создания главного меню используют компонент MainMenu, расположенный в палитре компонентов на вкладке Standart. Это невизуальный компонент, хотя главное меню отображается во время работы приложения. Основные свойства класса TMainMenu:
- AutoMerge: Boolean– в зависимости от значения этого свойства (true) меню дочерней формы SDI-приложения будет или (false) не будет добавляться к меню главной формы. Положение добавляемых пунктов меню (Menu-Item) зависит от значений их свойств GroupIndex (пояснить!). В MDI-приложениях меню дочерней формы всегда объединяется с меню главной формы, независимо от значения этого свойства;
- Images: TCustomImageList – подключает к меню коллекцию изображений для значков, отображаемых слева от соответствующих им команд меню (используется компонент ImageList);
- OwnerDraw: Boolean–определяет, как будет происходить прорисовка меню. При значении false прорисовка выполняется автоматически.
Среди методов, определенных в классе TMainMenu,наиболее часто используются два:
- procedure Merge(Menu: TMainMenu) – вызывается для объединения двух меню в SDI-приложениях. Например, вызывая этот метод, можно включить в состав меню главной формы пункты меню дочерней формы;
- procedure UnMerge(Menu: TMainMenu) – исключает из меню формы пункты, добавленные при слиянии двух меню.
Если свойство AutoMerge дочерней формы =true, то методы Mergeи UnMerge вызываются автоматически при открытии и закрытии дочерней формы.