Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любая задача на C/C++
Одно любое задание в mYsql
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Повышение уникальности твоей работе

Меню

2021-03-09СтудИзба

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

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

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

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

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

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

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

5.1. МЕНЮ

Рекомендуемые материалы

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

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

5.1.1. ГЛАВНОЕ МЕНЮ ОКНА И ВЫПАДАЮЩИЕ МЕНЮ

Одна из наиболее распространенных форм меню - линейная последовательность команд (или разделов). Именно в таком виде выполнено главное меню окна, расположенное непосредственно под полосой заголовка первичного окна (рис. 5.1). В связи с этим главное меню называют также полосой меню.

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

Рис. 5.1. Главное меню первичного окна

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

ВЗАИМОДЕЙСТВИЕ С ВЫПАДАЮЩИМ МЕНЮ

Когда пользователь выбирает пункт главного меню, отображается связанное с ним выпадающее меню. Чтобы указать выбираемый пункт меню с помощью мыши, пользователь устанавливает указатель на его названии и щелкает ЛКМ. Это действие приводит к выделению (подсветке) данного пункта и открытию связанного с ним выпадающего меню (рис.5.2).

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

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

Для работы, с выпадающим меню с помощью клавиатуры используется клавиша <Alt>, которая активизирует главное меню. Когда пользователь нажимает текстовую клавишу, удерживая нажатой клавишу <Alt>, система отображает выпадающее меню, соответствующее нажатой текстовой клавише (как правило, это клавиша, сопоставленная первому символу в названии пункта меню).

Рис. 5.2. Выпадающее меню

Чтобы получить доступ с клавиатуры к выпадающему меню, пользователь может также использовать клавиши управления курсором (<Вправо> и <Влево>). Если пользователь уже выбрал (открыл) одно из выпадающих меню, эти клавиши позволяют последовательно переходить от одного пункта главного меню к другому, причем новое выпадающее меню будет открыто автоматически (вместо меню, открытого ранее); при этом переход из крайних пунктов выполняется «по кругу» (от последнего к первому и наоборот).

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

Пользователь может закрыть выпадающее меню, нажав клавишу <Alt>; при этом также деактивируется главное меню. Нажатие клавиши <Esc> также позволяет закрыть выпадающее меню, однако эта клавиша отменяет только меню текущего уровня и оставляет выделенным соответствующий пункт главного меню. Повторное нажатие клавиши <Esc> отменяет выделение пункта главного меню и деактивирует полосу меню, возвращая фокус ввода на информацию, отображаемую в окне.

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

Ниже более подробно описаны основные соглашения для выпадающих меню наиболее часто используемых в приложениях

Меню Файл (File)

Данное меню обеспечивает интерфейс для выполнения основных операций с файлами. Обычно приложение должно включать такие команды, как Открыть Сохранить, Отправить, Печать. Эти команды часто также включаются во всплы­вающее меню пиктограммы, отображаемой в полосе заголовка окна.

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

Меню Правка (Edit)

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

Целесообразно также включить эти команды и во всплывающее меню выбранного объекта.

Таблица 5.1

Команды меню Правка

Команда

Функция

Отменить

(Undo)

Отмена последнего действия

Повторить

(Redo)

Повторное выполнение последнего (в том числе отмененного) действия

Найти и заменить (Find and Replace)

Поиск и замена последовательности символов

Удалить (Delete)

Удаление текущего выбора (объекта, фрагмента текста и т.д.)

Дублировать (Duplicate)

Создание копии текущего выбора

Меню Вид (View)

В этом меню содержатся команды, которые изменяют вид (форму представления) данных, отображаемых в окне, а также формат самого окна. К командам перво­го типа относится, в частности, команда Масштаб (Zoom), а к командам второго типа — Показать/Скрыть строку состояния. Эти команды рекомендуется также включать во всплывающее меню окна или подокна.

Меню Окно (Window)

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

Рис. 5.3. Меню Окно

Эти команды рекомендуется включать также во всплывающее меню родительс­кого окна MDI.

Меню Помощь (Help)

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

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

5.1.2. ВСПЛЫВАЮЩИЕ МЕНЮ

Даже если вы используете главное меню в качестве основного средства взаимодействия пользователя с приложением, вы тем не менее должны также поддерживать всплывающие меню. Всплывающие меню предоставляют пользователю эффективный способ доступа к операциям над объектами (рис. 5.4). Поскольку всплывающие меню отображаются в текущей Позиции (соответствующей положению указателя), они избавляют пользователя от необходимости перемещать указатель в полосу меню или на панель инструментов. Кроме тоге, поскольку всплывающие меню содержат команды, учитывающие специфику выбранного объекта или текущей ситуации, они позволяют сократить число команд, среди которых пользователь должен сделать выбор. И, наконец, всплывающие меню позволяют минимизировать объем отображаемой на экране информации, поскольку они появляются только по требованию пользователя.

Рис. 5.4. Всплывающее меню объекта

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

Контейнер или композиция, из которых выбирается некоторый элемент, обычно поддерживают создание всплывающего меню для выбранного объекта. Анало­гично, перечень команд, включаемых во всплывающее меню объекта, определяется не только свойствами самого объекта, но и свойствами содержащего его контейне­ра. Например, всплывающее меню для файла в папке содержит команды пересылки файла. Эти команды «порождаются» папкой (контейнером), а не файлом, над кото­рым они должны быть выполнены. То же самое относится и к всплывающим меню, содержащим средства OLE для выделенного объекта.

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

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

• Первыми должны располагаться основные команды для работы с объектом (например, Открыть, Исполнить, Печать), другие команды, поддерживающиеся объектом (определяемые непосредственно его свойствами или текущим контек­стом), и команда Что это? (если она поддерживается системой).

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

• Последними должны идти команды редактирования дополнительных атрибу­тов объекта (если таковые имеются).

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

Если указатель находится над ранее выбранным объектом, всплывающее меню должно относится к этому объекту. Если пользователь щелкает ПКМ за предела­ми выбранного объекта, но в пределах той же области выбора, установите новую область выбора и отобразите меню для этой области. Закройте всплывающее меню, когда пользователь щелкает ЛКМ за пределами меню, или если нажимает клавишу <Esc>.

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

Рис. 5.5. Всплывающее меню для панели инструментов

Для клавиатурного доступа к всплывающим меню используется комбинация клавиш <Shift>+F10 (или клавиша <Application> для клавиатур, которые поддер­живают спецификацию Windows). Кроме того, для работы с ними могут быть ис­пользованы клавиши управления курсором, клавиши <Enter> и <Esc>; все они действуют так же, как и при работе с выпадающим меню. Избегайте использования клавиш-акселераторов для выполнения команд всплывающего меню, поскольку для их описания требуется дополнительное пространство на панели меню.

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

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

Всплывающее меню окна

Данное меню содержит команды, предназначенные для управления форматом и состоянием окна. Например, всплывающее меню типового первичного окна включает команды Закрыть, Восстановить, Переместить, Масштаб, Свернуть, Развернуть. Не следует путать всплывающее меню первичного окна с выпадающим меню Окно, используемым в приложениях MDI.

В меню окна могут быть включены и другие команды, относящиеся к работе с окном; например, команда Разделить, выполняющая разбиение окна на подокна, или команды, позволяющие открывать подчиненные вторичные окна (типа Показать палитру).

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

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

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

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

Всплывающее меню, как правило, поддерживается и для пиктограмм контейнерных приложений. Например, системой автоматически предусматриваются всплывающие меню для пиктограмм стандартных папок или для Рабочего стола системы. Тем не менее, если ваше приложение должно поддерживать всплывающие меню для технологии OLE, определите для обрабатываемых документов или файлов данных вашего приложения соответствующие средства работы с меню.

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

Всплывающее меню пиктограммы Windows-приложения должно включать команды, указанные в табл. 5.2.

Таблица 5.2.

Команды всплывающего меню для файла приложения

Команда

Значение

Открыть (Open)

Открывает файл приложения

Отправить (Send To)

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

Вырезать (Cut)

Помечает перемещаемый файл (файл помещается в буфер обмена)

Копировать (Copy)

Помечает копируемый файл (копия файла помещается в буфер обмена)

Вставить (Paste)

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

Создать ярлык (Create Shortcut)

Создает ярлык файла

Удалить (Delete)

Удаляет файл

Переименовать (Rename)

Позволяет пользователю редактировать имя файла

Свойства (Properties)

Открывает панель свойств файла

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

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

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

Таблица 5.3.

Команды всплывающего меню для пиктограммы файла данных или документа

Команда

Значение

Открыть (Open)

Открывает первичное окно файла

Печать (Print)

Выводит файл на принтер, заданный по умолчанию

Быстрый просмотр (Quick View)

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

Отправить (Send To)

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

Вырезать (Cut)

Помечает перемещаемый файл (файл помещается в буфер обмена)

Копировать (Copy)

Помечает копируемый файл (копия файла помещается в буфер обмена)

Удалить (Delete)

Удаляет файл

Переименовать (Rename)

Позволяет пользователю редактировать имя файла

Свойства (Properties)

Открывает панель свойств файла

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

Для MDI-приложения сопоставьте всплывающее меню пиктограмме приложения в родительском окне, следуя рассмотренным ранее соглашениям по использованию пиктограммы в полосе заголовка окна. Рассмотрите также возможность включения во всплывающее меню такого приложения следующих дополнительных команд (там, где они уместны).

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

Таблица 5.4.

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

Команда

Значение

Создать (New)

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

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

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

Найти (Find)

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

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

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

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

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

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

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

Рис. 5.6. Каскадное меню

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

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

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

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

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

Рис. 5.7. Обозначение клавиш быстрого доступа к выпадающим меню

5.1.5. ПУНКТЫ МЕНЮ

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

Рис. 5.8. Различные форматы пунктов меню

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

Рис. 5.9. Пример неудачного разделения пунктов меню на группы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ТЕМА 12. Обеспечение безопасности работников в аварийных ситуациях - лекция, которая пользуется популярностью у тех, кто читал эту лекцию.

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

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

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

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

Для описания в меню клавиш-акселераторов лучше всего использовать те же стандартные имена, которые указаны на клавиатуре. Для описания сочетаний кла­виш Ctrl и Shift с другими клавишами используются обозначения в виде Сtгl+<клавиша> (а не Соntгоl+<клавиша> или CONTROL+<клавиша> или ^+<клавиша>) и Shift+<клавиша>. Если для быстрого доступа к пункту меню ис­пользуется функциональная клавиша, отобразите ее имя как Fn, где n — номер фун­кциональной клавиши (например, F3).

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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее