Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / ПРОЕКТИРОВАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ2.doc
Скачиваний:
27
Добавлен:
11.05.2015
Размер:
1.2 Mб
Скачать

Дополнительные команды всплывающего меню пиктограммы родительского меню

Команда

Значение

Создать (New)

Создает новый файл данных или отображает список типов файлов данных, поддерживающихся приложением

Сохранить Все (Save All)

Сохраняет все файлы данных, открытые в рабочей области MDI, и состояние окон MDI-приложения

Найти (Find)

Открывает окно, которое позволяет пользователю задавать критерии поиска файлов

При необходимости указанные дополнительные команды могут быть включены во всплывающие меню обычных (не MDI) приложений.

КАСКАДНЫЕ МЕНЮ

Каскадное меню (называемое также иерархическим меню или дочерним меню) — это подменю, на которое «распадается» пункт меню более высокого уровня. Визу­ально на наличие каскадного меню указывает треугольник, выводимый рядом с родительским пунктом меню (рис. ).

Каскадное меню может использоваться для того, чтобы предоставить пользова­телю возможность дополнительного выбора и при этом не занимать дополнитель­ное пространство в родительском меню. Оно может также быть полезным для ото­бражения иерархически связанных объектов.

Следует помнить, что использование каскадных меню ведет к увеличению слож­ности интерфейса, поскольку предполагает последовательное прохождение несколь­ких меню. Это, в свою очередь, требует от пользователя большей координирован­ное™ при выборе пунктов меню. В силу указанных причин старайтесь ограничивать применение каскадных меню только теми ситуациями, где они действительно необ­ходимы. При этом минимизируйте количество уровней для любого пункта данного меню, в идеале ограничивая его единственным подменю. Избегайте использования каскадных меню для доступа к распространенным, часто используемым командам.

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

Взаимодействие пользователя с каскадным меню подобно взаимодействию с выпадающим меню, за исключением того, что каскадное меню отображается после некоторой задержки. Это позволяет избежать вывода подменю, если пользователь просто просматривает родительское меню или перемещает указатель к другому пун­кту меню. Если после открытия каскадного меню пользователь перемещает указатель к другому пункту родительского меню, то каскадное меню после короткой задержки закрывается. Эта задержка позволяет пользователю непосредственно перейти из ро­дительского меню в соответствующее каскадное меню, не нажимая кнопку мыши.

ЗАГОЛОВОК МЕНЮ

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

Старайтесь обозначать каждое меню одним словом. Многословные названия или названия, содержащие пробелы, могут быть восприняты пользователем как два (или более) однословных названия. Вместе с тем, рекомендуется избегать необычных сложных слов, таких например, как Шрифторазмер.

Определите для каждого меню один символ, которому будет соответствовать клави­ша быстрого доступа. Этот символ отображается в заголовке меню как подчеркнутый символ (рис. 5.7). Каждое меню должно иметь уникальную клавишу быстрого доступа. В противном случае непосредственный доступ к требуемому меню окажется невозможен.

ПУНКТЫ МЕНЮ

Каждый пункт меню соответствует определенному действию, которое может выполнить пользователь в данной ситуации. Пункты меню могут быть представле­ны в текстовой или в графической форме (например, в виде пиктограмм), либо как комбинация графики и текста. При использовании графического интерфейса фор­мат пункта меню должен обеспечивать визуальное отображение выбора пользова­теля.

Если меню содержит большое количество пунктов, и они могут быть сгруппиро­ваны по некоторому признаку, целесообразно визуально разделить такие группы. В качестве стандартного разделителя используется горизонтальная прямая линия. Не рекомендуется использовать в качестве разделителей сами пункты меню, либо тек­стовые подзаголовки, которые могут быть восприняты пользователями как назва­ние пункта меню.

Всегда обеспечивайте пользователя визуальным указанием тех пунктов, кото­рые в данной ситуации не доступны. Обычно такие пункты меню либо «обесцвечи­ваются», либо вообще не отображаются на панели, причем первый способ является более предпочтительным с точки зрения обеспечения обратной связи с пользовате­лем. Из этих же соображений целесообразно сохранить для недоступных пунктов возможность выдачи подсказки. В частности, если окно содержит строку состоя­ния, то в ней можно отобразить сообщение, указывающее, что собой представляет данная команда, и почему она недоступна.

Если в некоторой ситуации ни один из пунктов меню не является доступным, сделайте недоступным данное меню в целом.

Система обеспечивает стандартный способ отображения недоступных пунктов меню. Если вы хотите использовать собственный способ визуализации таких пун­ктов, помните о том, что он должен быть одинаков для всех однотипных меню со­здаваемого приложения.

Форматы пунктов меню

Многие пункты меню вступают в силу сразу же, как только они были выбраны. Если пункт меню является командой, которая требует ввести дополнительную информа­цию, имя команды должно сопровождаться многоточием (...). Многоточие (эллип­сис) сообщает пользователю, что информация неполна. Выполнение таких команд обыч­но сопровождается выводом на экран диалоговой панели, обеспечивающей ввод пользователем требуемой информации. Например, команда Сохранить как... содер­жит эллипсис, поскольку она не может быть выполнена до тех пор, пока пользователь не укажет или не подтвердит имя файла, в который будет произведена запись.

Вместе с тем, не каждая команда, которая приводит к открытию диалоговой панели или другого вторичного окна, должна содержать эллипсис. Например, не следует его использовать для команды Свойства, поскольку выполнение данной команды само по себе предполагает открытие окна, отображающего свойства соот­ветствующего объекта. Не следует также его использовать для команд, выполнение которых может завершаться выводом на экран окна сообщения.

Наряду с использованием пунктов меню для выполнения команд, с их помощью можно также реализовать переключение режимов или установку требуемого со­стояния (или свойств) объекта без запуска соответствующего процесса. Например, выбор одного из пунктов меню, которое содержит список панелей инструментов, подразумевает соответствующее изменение формата окна. Если меню обеспечива­ет установку значений свойств объекта (например, размера шрифта), то выбор од­ного из пунктов такого меню означает изменение этого значения.

Пункты меню для установки параметров состояния объектов могут быть неза­висимыми или взаимозависимыми.

Независимые пункты меню эквивалентны флажкам. Например, если меню со­держит список параметров текста, таких как начертание шрифта (Полужирный, Курсив), то они образуют группу независимо устанавливаемых параметров. Пользо­ватель может изменить каждый из них независимо от значений других, даже если все они относятся к одному фрагменту текста. Для визуального отображения выбо­ра таких пунктов меню рекомендуется использовать маркер флажка (в виде «птич­ки»), отображаемый на панели меню слева от выбранного пункта.

Взаимозависимые пункты меню аналогичны переключателям. Например, если меню содержит способы выравнивания текста (По центру, По правому краю, По ширине), то они образуют группу взаимозависимых параметров. Поскольку к выбранному участку текста может быть применен только один тип выравнивания, выбор одного пункта из группы автоматически отменяет выбор любого другого. Для визуального отображения выбора таких пунктов меню рекомендуется использовать маркер переключателя (в виде кружка), также отображаемый слева от выбранного пункта меню.

При использовании меню для выбора одного из двух альтернативных вариан­тов, как, например, присутствие или отсутствие некоторого свойства объекта, для указания выбранного пункта также может использоваться маркер флажка. Напри­мер, если состояние текстового фрагмента соответствует пункту меню Полужир­ный, отобразите возле этого пункта маркер и уберите его, когда в выбранном фраг­менте используется не полужирный шрифт. Если фрагмент содержит смешанный шрифт, пункт Полужирный также отображается без маркера.

Если же два какие-либо состояния не являются очевидными для пользователя альтернативами, целесообразно использовать два замещаемых названия для одного пункта меню, каждое из которых соответствует одному из альтернативных состоя­ний. Например, не очень подготовленный пользователь может предположить, что альтернативой пункту меню с названием Полное дублирование является вариант Пустое дублирование (вместо Дублирование фрагмента). При выборе такого пунк­та меню его название изменяется на альтернативное.

Выбирая способ отображения в меню альтернативных вариантов, следует при­держиваться следующих принципов:

• Если на панели меню имеется достаточное свободное пространство, лучше включить в меню альтернативные варианты в качестве отдельных пунктов; это позволит пользователю видеть оба варианта одновременно; если таких альтернативных пар в меню несколько, они могут быть отделены друг от друга разделителем.

Избегайте такого определения пунктов меню, при котором их названия изменяются в зависимости от состояния клавиши-модификатора. При таком подходе большинство пользователей не смогут уяснить функциональные возможности приложения.

• При отсутствии в меню пространства для одновременного отображения альтернативных вариантов может быть использован единственный пункт меню, название которого изменяется при выборе на альтернативное. В этом случае название пункта меню отражает не текущее, а альтернативное состояние (т.е. состояние последующего выбора данного пункта). Где это возможно, старайтесь подбирать такие названия для альтернативных вариантов, для которых клавиша-акселератор будет связана с одним и тем же символом. Например, буква Д могла бы использоваться для пункта меню, который переключается между Полным дублированием и Дублированием фрагмента.

Меню может также содержать пункт, выбираемый по умолчанию. Для такого пункта обязательно должна поддерживаться техника ускоренного доступа (например, посред­ством двойного щелчка ЛКМ) или техника drag-and-drop (перетащи и оставь). Так, если для пиктограммы по умолчанию используется команда Открыть, включите в меню со­ответствующий пункт, который также будет выбираться по умолчанию. Аналогично, если для операции drag-and-drop команда, выполняемая по умолчанию, —Копировать, отобразите ее во всплывающем меню в качестве пункта, выбираемого по умолчанию.

В соответствии с системными соглашениями пункты, выбираемые по умолча­нию, отображаются на панели меню как полужирный текст.

Метка пункта меню

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

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

  • Используйте уникальные имена для пунктов в пределах одного меню; пункт с тем же названием может повторяться в других меню, чтобы представить аналогич­ные или другие действия.

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

  • Определяйте уникальные клавиши быстрого доступа для каждого пункта в пределах меню. Основные правила выбора клавиши-акселератора для пунктов меню — такие же, как и для меню в целом; кроме того, клавиша-акселератор для пункта меню может быть обозначена порядковым номером пункта меню (если таковой отображается на панели меню). Это полезно для тех пунктов меню, назва­ния которых изменяются (например, содержащих имя файла). Где это возможно, определяйте одни и те же клавиши доступа для одноименных пунктов, использу­емых в разных меню.

  • Старайтесь придерживаться норм используемого языка (как русского, так и английского, или любого другого) по использованию заглавных букв в названии пункта меню. В частности, для англоязычных версий рекомендуется делать заглавной первую букву каждого слова, за исключением артиклей, со­юзов и предлогов, которые встречаются «внутри» многословных названий. Например, правильными являются следующие названия пунктов меню: New Folder (Новая папка), Go To (Перейти), Select All (Выделить все), Go to Page (Перейти на страницу).

  • Избегайте использования индивидуальных текстовых стилей для каждого пункта меню. Это не только может затруднить визуальное восприятие меню пользо­вателем, но и сделает невозможным однотипное выделение тех символов, которым сопоставлены клавиши-акселераторы.

Описание клавиш-акселераторов в пунктах меню

Если для выполнения команд выпадающего меню используются клавиши-акселераторы, отобразите на панели меню их сокращенное обозначение. Обозначе­ние каждой клавиши выводится в соответствующей строке меню, но при этом все они выравниваются относительно некоторой общей позиции. Обычно такой по­зицией является первая свободная после самого длинного пункта в меню, кото­рый имеет клавишу-акселератор. Не применяйте пробелы для выравнивания обо­значений клавиш, поскольку для некоторых шрифтов они могут отображаться непропорционально.

Для описания в меню клавиш-акселераторов лучше всего использовать те же стандартные имена, которые указаны на клавиатуре. Для описания сочетаний клавиш <Ctrl> и <Shift> с другими клавишами используются обозначения в виде Сtrl+<клавиша> (а не Сontrol+<клавиша> или СОNТROL+<клавиша> или ^+<клавиша>) и Shift+<клавиша>. Если для быстрого доступа к пункту меню используется функциональная клавиша, отобразите ее имя как Fn, где п — номер функциональной клавиши (например, F3).

Старайтесь не использовать клавиши-акселераторы для работы с всплывающи­ми меню. Такие меню уже сами по себе являются формой ускоренного взаимодействия пользователя с программой и работа с ними изначально ориентирована на использование мыши.

КНОПКИ

Кнопки - это элементы интерфейса, которые служат для инициирования каких-либо действий или для изменения свойств объектов. Существует три основных типа кнопок: кнопки управления (CommandButtons), кнопки установки парамет­ров (Option Buttons, Radio buttons), или переключатели, и кнопки независимого выбора, или флажки (Check boxes).

КНОПКИ УПРАВЛЕНИЯ

Кнопка управления, обычно именуемая в русскоязычных изданиях просто кноп­кой, предназначена для запуска связанной с ней команды или операции; такая кноп­ка имеет, как правило, прямоугольную форму и снабжается поясняющей меткой, в качестве которой может использоваться текст, графический символ, либо то и дру­гое, как показано на рис.

Когда пользователь выбирает кнопку с помощью мыши (щелкает на ней ЛКМ), выполняется команда, связанная с кнопкой. Если пользователь нажимает кнопку мыши (не отпуская ее), фокус ввода переходит на кнопку; при этом изменяется состояние кнопки (она отображается как «нажатая»). При перемещении указателя за пределы кнопки она возвращается в свое исходное состояние. Перемещение ука­зателя обратно на кнопку вновь переводит ее в «нажатое» состояние.

Если пользователь отпускает кнопку мыши, когда указатель находится над кноп­кой, выполняется связанная с ней команда; если же указатель расположен за преде­лами кнопки, фокус ввода «снимается» с кнопки без выполнения команды.

Вы можете определить для кнопок клавиши доступа и клавиши-акселераторы. Кроме того, целесообразно обеспечить пользователю возможность навигации между кнопками с помощью клавиатуры. Для этого рекомендуется использовать клавишу <ТаЬ> в сочетании с клавишами управления курсором. Клавиша <Spacebar> по умол­чанию используется для активизации кнопки при установке на нее фокуса ввода.

Результат команды, выполняемой при «нажатии» кнопки, проявляется немед­ленно и непосредственно влияет на текущую ситуацию. Например, при «нажатии» кнопки, расположенной на панели инструментов приложения, тут же выполняется связанное с ней действие; «нажатие» кнопки, отображенной во вторичном окне, обеспечивает прием вводимых данных и, возможно, закрытие окна.

Как было указано выше, кнопка управления снабжается меткой, обозначающей связанное с ней действие. Если в качестве метки используется текст, то он должен отвечать тем же требованиям, которые были рассмотрены ранее применительно к пунктам меню. Если в какой-либо ситуации связанная с кнопкой команда является недоступной, то это должно быть отображено визуально (как правило, в этом слу­чае обесцвечивается метка кнопки). Для кнопок, связанных с командами, которые требуют ввода дополнительной информации, в качестве соответствующего визуального признака используется эллипсис (...). Для некоторых кнопок при их «нажатии» может выводиться окно сообщения, но это не означает, что метка такой кнопки должна содержать эллипсис.

Кнопки могут также использоваться для расширения вторичного окна с целью отображения в нем дополнительных параметров; такие кнопки называютсякнопка­ми развертывания и представляют собой частный случай применения кнопок для выполнения специфической функции. Если кнопка используется с указанной це­лью, ее метка должна содержать пару символов » (рис. ).

В некоторых случаях кнопка может представлять объект и связанное с ним по умолчанию действие. Например, кнопки входа, отображаемые на Панели задач, представляют первичные окна объектов и команду Восстановить. Когда пользова­тель щелкает на такой кнопке Л КМ, для выбранного объекта выполняется указанная команда; щелчок па кнопке входа ПКМ приводит к появлению всплывающего меню для соответствующего объекта.

Кроме тога, кнопки могут также использоваться для выбора режима работы или значения некоторой величины; в этом случае их применение аналогично примене­нию кнопок двух других типов — переключателей и флажков. Если кнопка исполь­зуется подобным образом, то для визуального представления состояния выбранной кнопки применяется изображение, несколько отличающееся от стандартного изоб­ражения «нажатой» кнопки. Изображения кнопок, рекомендуемые для визуально­го представления их возможных состояний, приведены на рис.

В некоторых случаях кнопка управления может быть использована для откры­тия выпадающего меню; такую кнопку называют кнопкой меню. Хотя это достаточ­но специфическое использование кнопок, не предусмотренное системой, вы може­те реализовать такой элемент интерфейса, используя стандартные компоненты.

Кнопка меню выглядит как стандартная кнопка управления, за исключением того, что ее метка содержит треугольную стрелку, подобную используемым в кас­кадных меню.

Кнопка меню поддерживает тот же тип взаимодействия, что и выпадающее меню: меню отображается при нажатии кнопки; выбор пункта меню осуществляется по­средством перемещения указателя по панели меню. Подобно любому другому меню, чтобы проследить перемещение указателя, в данном случае также используется подсветка пунктов меню.

Щелчок ЛКМ за пределами меню или повторное нажатие кнопки приводи закрытию панели меню.