B.5. Работа с меню в графическом интерфейсе.
Содержание
При организации работы с приложением в диалоговом режиме часто бывает необходимым подать определенную команду работающей программе, выбрать необходимый режим работы или осуществить какое-либо стандартное действие. В интерфейсе командной строки эта команда просто бы набиралась с помощью клавиатуры. Это не удобно, поэтому для передачи команд приложению в графическом интерфейсе (и не только в нем!) используется система меню и панели управления.
Панель управления представляет собой обычные кнопки с пиктограммами на них, объединенные в единое целое и сгруппированные по назначению. Работа с элементами панели аналогична работе с кнопками и будет описана ниже.
Меню , по определению - это набор пунктов, каждый из которых соответствует той или иной команде или действию.
Меню может быть горизонтальным , в котором пункты расположены один за другим в одну строку, и вертикальным , у которого пункты расположены друг над другом.
Меню бывает системным (system ) и всплывающим (popup). Системное меню расположено сразу под заголовком окна. Оно отображается постоянно. Всплывающее же меню появляется, когда пользователь или выбрал какой-либо пункт системного меню, или нажал кнопку вызова меню (например, кнопку контрольного меню), или вызвал контекстное меню с помощью правой кнопки мыши. Всплывающее меню (которое, как правило, вертикальное) появляется, когда его вызывают, и закрывается сразу же, как только выбирается его пункт или когда оно теряет "фокус ввода" (при щелчке любой кнопкой мыши вне области меню или нажатием клавиши Esc).
В любой момент времени любой пункт меню или само меню целиком может быть доступным и недоступным. Недоступный пункт меню нельзя активизировать. Подробнее о недоступности пункта меню смотри подраздел B.5.3.3.
Любое меню содержит пункты, выбор которых запускает на выполнение какую-либо команду. Пункты содержат в себе
1) описание (текст) ;
2) выделенный символ (выделение цветом или подчеркиванием - hotkey) ;
3) клавишу-акселератор (shortcut key, acceleration key) и специальные значки.
1. Текст меню содержит краткое описание команды (в одно - два слова).
2. Выделенный символ позволяет быстро выбрать пункт меню с помощью клавиатуры. Для этого надо:
- активизировать меню, и
- нажать клавишу, соответствующую выделенному символу. При этом команда сразу же выполняется.
Для активизации нужного пункта системного меню с помощью клавиатуры необходимо:
- нажать клавишу Alt , а затем - выделенный символ (hotkey).
3. Клавиши-акселераторы указывают, каким образом можно выполнить команды с помощью клавиатуры, не активизируя меню. При работе с клавиатурой это намного ускоряет вызов команды.
4. Специальные знаки указывают на тип пункта меню.
5. Иконка , указанная слева от текста, является обозначением той кнопки с панели инструментов приложения, которая может использоваться для ускорения ввода команды с помощью мыши. Этот элемент может присутствовать только во всплывающем меню.
6. Некоторая величина , стоящая справа от названия пункта, является значением некоторой переменной, управляющей выражением, а текст пункта является ее именем. При выборе пункта происходит изменение значения этой переменной.
Любой пункт меню может быть в данный момент доступным или недоступным. Доступные пункты обычно имеют текст, нарисованный насыщенными цветами (например, черным на белом, черный на светло-сером), а недоступные - неяркими и ненасыщенными цветами (светло-серый на белом, темно-серый на светло-сером). Также пункт меню (только доступный!) может быть выделенным. Выделенный пункт обычно имеет другой цвет фона и текста. Например, в Windows обычный пункт изображается черным текстом на белом фоне. В Windows'95 обычный пункт меню имеет черный текст на светло-сером фоне, а активный - белый текст на синем фоне.
Пункты меню бывают следующих типов:
a) Пункт-команда. При его выборе происходит выполнение команды, Какие-либо специальные знаки в нем отсутствуют.
b) Пункт-флажок. При его выборе устанавливается какой-либо режим работы (в левой части перед текстом появляется галочка), или этот режим сбрасывается (в левой части галочка исчезает). Иногда включение и выключение режима работы (и, соответственно, его отображение в меню) устанавливается или сбрасывается автоматически, согласно общему алгоритму работы приложения.
c) Пункт-переключатель. Этот пункт указывает на один из альтернативных режима работы приложения. Этот пункт никогда не бывает единичным - должна быть, по крайней мере, пара таких пунктов. При активизации этого пункта слева от текста меню появляется кружок, который исчезает при его сбросе.
d) Пункт - расширенная команда. При его выборе появляется диалоговое окно, осуществляющее дополнительный ввод информации.
После теста в этом меню обычно стоит многоточие, являющееся отличительным знаком этого пункта.
г) Пункт - каскадное меню. При его выборе открывается новое всплывающее меню. Справа от текста этого пункта обычно стоит знак "стрелка вправо". В операционных системах Windows 95/98/2000/NT4 для активизации этого пункта можно не выбирать этот пункт, а просто указать на него мышью.
Действие: выбор пункта меню (сделать его активным).
Назначение: прежде чем запустить на выполнение пункт меню, необходимо сначала сделать его активным.
Реализация:
с помощью мыши: выбрать этот пункт меню мышью;
с помощью клавиатуры:
a) активизировать системное меню
Для активизации системного меню (точнее, его первого, самого левого пункта меню) необходимо:
- нажать и отпустить клавишу Alt , или
- нажать и отпустить клавишу F10.
b) с помощью клавиш-стрелок ("стрелка влево" и "стрелка вправо" в горизонтальном меню, "стрелка вверх" и "стрелка вниз" в вертикальном) осуществить выбор пункта (он выделится цветом).
Примечание: если в вертикальном всплывающем меню, вызванном из системного, нажатием клавиши "стрелка влево" и "стрелка вправо", произойдет вызов всплывающего меню соответственно левого или правого пункта системного меню.
c) Для открытия выделенного каскадного меню необходимо нажать "стрелка вправо" или "Enter", для закрытия каскадного меню - "стрелка влево" или "Esc".
Действие: активизация (вызов) контекстного меню объекта.
Реализация:
с помощью мыши в любых операционных системах:
- указать на объект и щелкнуть правой клавишей мыши.
С помощью клавиатуры в операционных системах фирмы Microsoft:
нажать клавишу "Context" на 105-и клавишной клавиатуре.
Действие: запуск активного пункта меню на исполнение.
Реализация:
с помощью мыши: выбрать этот активный пункт.
С помощью клавиатуры: нажать клавишу Enter или клавишу, соответствующую выделенному символу этого пункта меню.
Действие: запуск неактивного пункта меню на исполнение.
Назначение: Запуск неактивного пункта меню может потребоваться для ускорения операций работы с меню (пропускается процесс активизации неактивного пункта.)
Реализация:
с помощью мыши: открыть этот пункт меню.
С помощью клавиатуры: нажать клавишу соответствующую выделенному символу данного пункта (при условии, что само меню активизировано - см. выше).
Действие: выход из меню без выбора какого-либо пункта.
Назначение: выход из меню без выбора какого-либо пункта может потребоваться, например, если Вы случайно активизировали системное меню или если Вы раздумали подавать команду с помощью меню.
Реализация: переключить фокус ввода.
С помощью мыши: щелкнуть левой клавишей мыши в каком-либо месте вне меню.
С помощью клавиатуры: нажимать клавишу Esc до тех пор, пока не исчезнет выделение пункта системного меню.
Примечание: после выбора пункта меню оно также теряет фокус ввода.
В этом разделе Вы познакомились с наиважнейшим элементом графического интерфейса - с системой меню. Вы узнали, какими бывают пункты меню, какими клавишами происходит управление меню. Следует отметить, что диалоговая работа на компьютере с помощью меню не всегда удобна. Так сильно "разросшаяся вширь и вглубь" система меню является признаком плохого интерфейса! Поэтому для управления работой приложения в диалоговом режиме сейчас все чаще используются диалоговые окна, которые уже были вскользь упомянуты и которые будут описаны по-подробнее ниже, в пункте B.10.
Также с помощью меню невозможно вводить текст. Элементы графического интерфейса, ответственные за ввод текста, будут рассмотрены в следующем разделе.
Назад |
Содержание |
Вперед