Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_ЛР3,4_A5_Часть2.doc
Скачиваний:
38
Добавлен:
08.11.2019
Размер:
557.06 Кб
Скачать

1.2. Требования к меню в sdi-приложениях Windows

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

  • главное меню с выпадающими списками команд пунктов меню (разделов);

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

  • всплывающие или контекстные меню, появ­ляющиеся, если пользователь щелкает правой кнопкой мыши на каком-то элементе формы приложения.

Основное требование к меню — их стандартизация. Это требо­вание относится ко многим аспектам меню: месту размещения заголовков меню и их пунктов, форме самих заголовков, клави­шам быстрого доступа, организации каскадных меню. Цель стан­дартизации — облегчить пользователю работу с приложением с тем, чтобы пользователю не приходилось думать, в каком меню и как ему надо открыть или сохранить файл, как ему получить справку, как работать с буфером обмена Clipboard и т.д.

Начнем рассмотрение требований с размещения пунктов меню. Типичная полоса главного меню приложения приведена на рис. 1.

Рис. 1

Состав пунктов меню зависит от конкретного приложения. Но раз­мещение общепринятых пунктов меню должно быть стандартизиро­ванным. Обычно пункт меню Файл разме­щается слева в полосе главного меню, раздел справки — справа, перед ним в приложениях MDI размещается меню Окно и т.д. Главное меню должно также снабжаться инструментальной па­нелью (см. рис. 1), быстрые кнопки которой дублируют наибо­лее часто используемые команды меню. На этих кнопках надо использовать, по возможности, привычные картинки. В Delphi имеется множество изображений кнопок, но, к сожалению, они не всегда имеют привычный для пользователя рисунок.

По возможности стандартным должно быть и расположение команд в пунктах меню. На рис. 2 приведены распространенные варианты наборов команд в пунктах меню Файл — работа с файлами, Правка — работа с текстами, Формат – форматирование текста; Справка — просмотр справочных данных.

а) б) в) г)

Рис. 2

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

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

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

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

Команды, к которым относятся каскадные меню (рис. 3), должны заканчиваться символом ►, указывающим на наличие дочернего меню данного раздела.

Рис. 3

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

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

Многим командам могут быть поставлены в соответствие «горячие» клавиши, позволяющие обратиться к команде, не открывая меню. Комбинации таких «горячих» клавиш должны быть традиционными. Например, команды вы­резания, копирования и вставки фрагментов текста практически всегда имеют «горячие» клавиши Ctrl-X, Ctrl-C и Ctrl-V соответст­венно. Заданные сочетания клавиш отображаются в строках соответствующих команд меню (рис. 2,а и 2,б).

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

Не все команды меню имеют смысл в любой момент работы по­льзователя с приложением. Например, если в приложении не от­крыт ни один документ, то бессмысленно выполнять команды редактирования в пункте Правка. Если в тексте документа ничего не изменялось, то бессмысленной является команда этого меню Отменить, отменяющая последнюю команду редактирования. Такие команды и пункты меню должны делаться временно недоступ­ными или невидимыми. Это осуществляется заданием значения false свойствам команды Enabled или Visible соответственно. Раз­личие между недоступными и невидимыми командами в том, что недоступная команда видна в меню, но отображается серым цветом, а невидимая команда просто исчезает из меню, причем нижележащие команды смыкаются, занимая ее место. Выбор того или иного варианта — дело вкуса и удобства работы пользовате­ля. Вероятно, целиком пункты меню лучше делать невидимыми, а отдельные команды — недоступными. Например, пока ни один доку­мент не открыт, пункт меню Правка можно сделать невидимым, чтобы он не отвлекал внимания пользователя. Команду Отменить этого пункта в соответствующих ситуациях лучше делать недоступной, чтобы пользователь видел, что такая команда в меню есть и ею можно будет воспользоваться в случае ошибки редактирования.

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