Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Запрещенные пункты меню






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

Шаг 16. Согласитесь, что легче запретить выбор отдельных пунктов меню, чем программировать логику поведения на случай, когда пользователь выбрал неправильную команду. Поэтому в нашем примере логично было бы запретить пункты Save As..., Close, а также Half Size, Normal Size и Double Size, когда нет открытого графического файла. Для этого в каждом из указанных пунктов меню установите свойство Enabled в значение False (рис. 17).

Шаг 17. Во время работы приложения нужно еще динамически разрешать и запрещать пункты меню в зависимости от того, открыт графический файл или нет. Так как эти действия достаточно универсальны, оформим их в виде частного (private) метода формы EnableCommands:

Type

TPictureForm = class (TForm)

Private

procedure EnableCommands(Enable: Boolean);

end;

procedure TPictureForm. EnableCommands (Enable: Boqriean);

Begin

SaveAsItem.Enabled: = Enable;

Closeltem.Enabled: = Enable;

HalfSizeltem.Enabled: = Enable;

NormalSizeItem.Enabled: = Enable;

DoubleSizeItem.Enabled: = Enable;

end;

Параметр Enable данного метода регулирует, что именно нужно сделать: разрешить (значение True) или запретить (значение False) множество пунктов меню.

Шаг 18. Как вы понимаете, в обработчик команды меню Open... следует поместить вызов метода EnableCommands с параметром True, а в обработчик команды Close — вызов метода EnableCommands с параметром False:

procedure TPictureForm.OpenItemClick(Sender: TObject);

Begin

{ Открыть файл картинки и разрешить команды }

EnableCommands(True);

end;

procedure TPictureForm.CloseItemClick(Sender: TObject);

Begin

{ Закрыть файл картинки и запретить команды }

EnableCommands(False);

end;

Скомпилируйте и запустите проект. Посмотрите, как изменилось меню приложения. В самом начале работы отдельные режимы выпадающих меню File и View запрещены. Выбор команды File | Open... разрешает их использование, а выбор команды File | Close — запрещает.

Итак, вы изучили все основные аспекты программирования главного меню, поэтому перейдем к вопросу разработки всплывающих меню.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал