Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Запрещенные пункты меню
Некоторые режимы работы приложения могут быть недоступны пользователю в тот или иной момент времени. Пункты меню, соответствующие недоступным режимам, делаются запрещенными. Запрещенные пункты выглядят тусклыми, и их выбор игнорируется. Шаг 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 — запрещает. Итак, вы изучили все основные аспекты программирования главного меню, поэтому перейдем к вопросу разработки всплывающих меню.
|