Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700269.doc
Скачиваний:
15
Добавлен:
01.05.2022
Размер:
1.78 Mб
Скачать

5.4.8. Меню

Строка главного меню (компонент MainMenu, , страница Standard) располагается в верхней части главной формы приложения. Доступ к командам осуществляется либо непосредственным выбором мышью пункта меню, либо с помощью специально назначенных клавиш клавиатуры. Проектирование производится с помощью конструктора меню, вызываемого двойным щелчком на компоненте. Команды Create Submenu позволяет ввести подменю в выделенный раздел.

Свойство Items содержит массив разделов меню типа TMenuItem, обладающих своими свойствами, методами, событиями. Свойство Caption обозначает надпись раздела, свойство ShortCut определяет клавиши быстрого доступа к разделу. Свойство Default определяет, является ли данный раздел разделом по умолчанию своего подменю, т.е. разделом, выполняемым при двойном щелчке пользователя на родительском разделе. Свойство Break используется в длинных меню, чтобы разбить список разделов на несколько столбцов. Свойство Checked, установленное в true, указывает, что в разделе меню будет отображаться маркер флажка, показывающий, что данный раздел выбран. Еще одним свойством, позволяющим вводить маркеры в разделы меню, является RadioItem. Это свойство, установленное в true, определяет, что данный раздел должен работать в режиме радиокнопки совместно с другими разделами, имеющими то же значение свойства GroupIndex. Для каждого раздела могут быть установлены во время проектирования или программно во время выполнения свойства Enabled (доступен) и Visible (видимый). Предусмотрена возможность ввода в разделы меню изображений с помощью свойств Bitmap и ImageIndex. Первое из них позволяет непосредственно ввести изображение в раздел. Второе – указать индекс изображения во внешнем компоненте ImageList. Указание на этот компонент задается в свойстве Images.

Пункты меню в рамках одного раздела принято логически делить на группы. Друг от друга группы отделяются специальной линией – разделителем. Для реализации подобного эффекта достаточно присвоить пункту меню в качестве заголовка (Caption) одиночный символ "-".

Свойства и методы класса TMainMenu могут обеспечить объединение меню главной и вспомогательной форм. В MDI-приложениях меню дочерней формы всегда объединяется с меню главной формы. В SDI-приложениях при установке свойства AutoMerge в true меню вторичной формы также объединится с меню главной формы приложения. Положение добавляемых пунктов меню зависит от значения их свойств GroupIndex.

Основное событие раздела меню – OnClick, возникающее при выборе раздела с помощью мыши или при нажатии "горячих" клавиш и клавиш быстрого доступа.

Компонент PopupMenu ( , страница Standard) определяет всплывающее контекстное меню, появляющееся на экране при щелчке правой кнопкой мыши в поле практически любого компонента, который связан с данным меню своим свойством PopupMenu. Процесс проектирования контекстного меню и его свойства практически аналогичны компоненту MainMenu.

5.4.9. Таймер

Таймер (компонент Timer, , страница System) позволяет задавать интервалы времени. Компонент не является визуальным, но тем не менее часто используется, например, при синхронизации мультипликации, для программного закрытия окон, для регулярного опроса источников информации, при контроле времени на ответ в обучающих программах и т.д.

Таймером можно управлять с помощью двух свойств: Interval – интервал времени в миллисекундах и Enabled – доступность. Если задать Interval=0 и Enabled=false, то таймер перестанет работать, т.е. перестанет генерировать событие OnTimer через заданный интервал времени после предыдущего срабатывания, или после программной установки свойства Interval (или – альтернативный вариант – свойства Enabled), или после запуска приложения.

Заданный интервал времени выдерживается достаточно точно, только если он составляет сотни и тысячи миллисекунд. При меньших значениях, как правило, реальные интервалы времени оказываются существенно больше.