П_К_Лекц_ї. Что такое интерфейс
![]()
|
Глава 5 ПРОЕКТИРОВАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ Под элементами управления обычно понимаются компоненты графического интерфейса, которые предоставляют пользователю возможность изменять содержимое или форму представления отображаемой информации, а также управлять работой приложения. К элементам управления относятся, в частности, списки, полосы прокрутки, кнопки и т.д. Каждый элемент управления имеет уникальный образ и обеспечивает определенную форму взаимодействия пользователя с приложением. Система также поддерживает возможность создания собственных элементов управления. Определяя такие элементы, следует учитывать существующие системные соглашения, принятые для стандартных элементов управления. Подобно большинству элементов интерфейса, элементы управления обеспечивают обратную связь с пользователем, изменяя определенным образом свой внешний вид в тех случаях, когда они активизированы. Например, когда пользователь взаимодействует с элементами управления, использующими мышь, каждый из них «реагирует» на выбор при нажатии кнопки мыши, но не активизируется до тех пор, пока пользователь не отпустит кнопку. Если пользователь перемещает указатель за пределы элемента управления при нажатой кнопке мыши, он перестает воспринимать входное воздействие. Если пользователь возвращается на элемент управления, тот снова переходит в активное состояние. Горячая зона, которая определяет, будет ли реагировать элемент управления на указатель, зависит от типа элемента. Для некоторых элементов управления, таких, например, как кнопки, горячая зона совпадает с видимой границей элемента. Для других горячая зона может включать графический символ элемента управления и относящуюся к нему текстовую область (например, это справедливо для флажков и переключателей). ![]() Поскольку некоторые из элементов управления могут обеспечивать какие-либо специфические способы взаимодействия пользователя с приложением, целесообразно создать для них всплывающее меню. Оно может оказаться эффективным средством в тех случаях, когда элемент управления используется либо для передачи некоторой величины, имеющей несколько возможных значений, либо для доступа к контекстно-зависимой справочной информации. Для таких меню должны соблюдаться стандартные правила создания всплывающих меню, приведенные ниже, за исключением того, что в данном случае щелчок ЛКМ на выбранном пункте не запускает действие, связываемое с элементом управления. Другими словами, всплывающее меню элемента управления позволяет пользователю определить, какие действия он реализует в текущей ситуации, но не позволяет непосредственно выполнить эти действия. На этапе проектирования пользовательского интерфейса многие вопросы, относящиеся к использованию меню, должны решаться совместно с проектированием других элементов управления. 5.1. МЕНЮ Меню содержит перечень команд, имеющихся в распоряжении пользователя при выполнении определенного шага задания или задания в целом. Меню предоставляет пользователю возможность выбора необходимого средства решения задачи, не требуя от него запоминания имен команд и их синтаксиса. Существуют различные типы меню, в том числе выпадающие, всплывающие и каскадные (иерархические) меню. Применение каждого из них имеет свои особенности. 5.1.1. ГЛАВНОЕ МЕНЮ ОКНА И ВЫПАДАЮЩИЕ МЕНЮ Одна из наиболее распространенных форм меню - линейная последовательность команд (или разделов). Именно в таком виде выполнено главное меню окна, рас положенное непосредственно под полосой заголовка первичного окна. В связи с этим главное меню называют также полосой меню. Полоса меню содержит названия пунктов меню, каждый из которых предоставляет доступ к выпадающему меню. Содержание главного меню и связанных с ним выпадающих меню определяется функциональным.предназначением вашего приложения и контекстом выполняемого пользователем задания. Вы можете обеспечить выбор пользователем дополнительной конфигурации окна, при которой главное меню не отображается. В этом случае необходимо предусмотреть элементы управления, обеспечивающие доступ к тем же функциям приложения, что и главное меню. ВЗАИМОДЕЙСТВИЕ С ВЫПАДАЮЩИМ МЕНЮ Когда пользователь выбирает пункт главного меню, отображается связанное с ним выпадающее меню. Чтобы указать выбираемый пункт меню с помощью мыши, пользователь устанавливает указатель на его названии и щелкает ЛКМ. Это действие приводит к выделению (подсветке) данного пункта и открытию связанного с ним выпадающего меню. Выпадающее меню отображается как панель с пунктами меню, размещенными в виде столбца. Хотя система поддерживает возможность вывода пунктов выпадающего меню в несколько столбцов, избегайте такой формы представления, поскольку она усложняет работу пользователя. По мере того, как пользователь перемещает указатель по меню, каждый его пункт подсвечивается, отображая текущее положение указателя. Щелкая ЛКМ на пункте меню, пользователь выбирает команду, связанную с этим пунктом; при этом выпадающее меню закрывается. Если пользователь решил отказаться от работы с выпадающим меню, он может закрыть его, повторно щелкнув ЛКМ на том же пункте главного меню. Аналогичный результат дает и щелчок ЛКМ на другом пункте главного меню (правда, в этом случае будет открыто выпадающее меню, связанное с этим пунктом). Для работы с выпадающим меню с помощью клавиатуры используется клавиша Нажатие клавиш <Вверх> или <Вниз> также приводит к открытию выпадающего меню (если в данный момент нет открытых меню). Нажатие этих клавиш при открытом выпадающем меню обеспечивает переход на следующий пункт меню в соответствующем направлении; переход между крайними пунктами, как и в главном меню, выполняется «по кругу». Если выпадающее меню имеет несколько столбцов, то выполняется переход из последнего пункта текущего столбца к первому в следующем столбце. Пользователь может закрыть выпадающее меню, нажав клавишу 5.1.2. ВСПЛЫВАЮЩИЕ МЕНЮ Даже если вы используете главное меню в качестве основного средства взаимодействия пользователя с приложением, вы тем не менее должны также поддерживать всплывающие меню. Всплывающие меню предоставляют пользователю эффективный способ доступа к операциям над объектами. Поскольку всплывающие меню отображаются в текущей позиций (соответствующей положению указателя), они избавляют пользователя от необходимости перемещать указатель в полосу меню или на панель инструментов. Кроме того, поскольку всплывающие меню содержат команды, учитывающие специфику выбранного объекта или текущей ситуации, они позволяют сократить число команд,, среди которых пользователь должен сделать выбор. И, наконец, всплывающие меню позволяют минимизировать объем отображаемой на экране информации, поскольку они появляются только по требованию пользователя. Хотя всплывающее меню внешне похоже на выпадающее меню, между ними имеется принципиальное различие: всплывающее меню должно содержать только те команды, которые относятся к выбранному объекту (или объектам) и текущей ситуации, а не команды, сгруппированные по выполняемым функциям. Например, всплывающее меню для выбранного фрагмента текста может включать команды перемещения и копирования текста, а также команды установки параметров шрифта. Старайтесь сократить размер всплывающего меню, ограничивая количество включаемых в него пунктов. С этой целью в него следует включать только специфические команды, позволяющие пользователю управлять индивидуальными свойствами выделенного объекта. Избегайте использования всплывающего меню в качестве единственного доступного средства для выполнения пользователем тех или иных действий. Вместе с тем, команды всплывающего меню не должны дублировать содержимое одного из выпадающих меню. Выбирая последовательность расположения команд во всплывающем меню, пользуйтесь следующими руководящими принципами: Первыми должны располагаться основные команды для работы с объектом (например, Открыть, Исполнить, Печать), другие команды, поддерживающиеся объектом (определяемые непосредственно его свойствами или текущим контекстом), и команда Что это? (если она поддерживается системой). Во вторую группу должны быть включены команды, реализуемые через буфер обмена (Вырезать, Копировать, Вставить). Последними должны идти команды редактирования дополнительных атрибутов объекта (если таковые имеются). Для открытия всплывающего меню с помощью мыши пользователь должен щелкнуть ПКМ на интересующем его объекте. При этом объект изображается как выбранный. Как правило, всплывающее меню выводится на экран таким образом, чтобы его левый верхний угол находился в позиции указателя; однако если при этом меню (или его часть) может оказаться за краем экрана, его положение должно быть скорректировано. Если указатель находится над ранее выбранным объектом, всплывающее меню должно относится к этому объекту. Если пользователь щелкает ПКМ за пределами выбранного объекта, но в пределах той же области выбора, установите новую область выбора и отобразите меню для этой области. Закройте всплывающее меню, когда пользователь щелкает ЛКМ за пределами меню, или если нажимает клавишу Вы можете также использовать всплывающие меню для объектов, выбираемых косвенно; к таким объектам относятся, в частности, полоса прокрутки и элементы строки состояния. Команды работы с такими элементами должны включаться во всплывающее меню того объекта, для управления которым предназначены эти элементы. Для клавиатурного доступа к всплывающим меню используется комбинация клавиш Особенности использования всплывающих меню, включаемых в приложение, зависят от объектов и контекста, создаваемых этим приложением. 5.1.3. КАСКАДНЫЕ МЕНЮ Каскадное меню (называемое также иерархическим меню или дочерним меню) — это подменю, на которое «распадается» пункт меню более высокого уровня. Визуально на наличие каскадного меню указывает треугольник, выводимый рядом с родительским пунктом меню. Каскадное меню может использоваться для того, чтобы предоставить пользователю возможность дополнительного выбора и при этом не занимать дополнительное пространство в родительском меню. Оно может также быть полезным для отображения иерархически связанных объектов. Следует помнить, что использование каскадных меню ведет к увеличению сложности интерфейса, поскольку предполагает последовательное прохождение нескольких меню. Это, в свою очередь, требует от пользователя большей координированности при выборе пунктов меню. В силу указанных причин старайтесь ограничивать применение каскадных меню только теми ситуациями, где они действительно необходимы. При этом минимизируйте количество уровней для любого пункта данного меню, в идеале ограничивая его единственным подменю. Избегайте использования каскадных меню для доступа к распространенным, часто используемым командам. В качестве альтернативного решения реализуйте дополнительный выбор с помощью вторичных окон, особенно в тех случаях, когда выбор представляет собой установку не связанных между собой параметров; это позволяет пользователю выполнять установку нескольких параметров за один сеанс работы с окном. Вы можете также реализовать установку наиболее часто изменяемых параметров как выбор соответствующих элементов на панели инструментов окна. Взаимодействие пользователя с каскадным меню подобно взаимодействию с выпадающим меню, за исключением того, что каскадное меню отображается после некоторой задержки. Это позволяет избежать вывода подменю, если пользователь просто просматривает родительское меню или перемещает указатель к другому пункту меню. Если после открытия каскадного меню пользователь перемещает указатель к другому пункту родительского меню, то каскадное меню после короткой задержки закрывается. Эта задержка позволяет пользователю непосредственно перейти из родительского меню в соответствующее каскадное меню, не нажимая кнопку мыши. 5.1.4. ЗАГОЛОВОК МЕНЮ Каждое выпадающее и каскадное меню имеет собственный заголовок. Для выпадающего меню его заголовок, который отображается в полосе меню окна, служит входом в меню. Для каскадного меню заголовком является имя родительского пункта меню. Заголовок меню представляет соответствующее меню в целом и должно отражать его предназначение, так же, как и названия пунктов в меню должны пояснять назначение каждого из них. Старайтесь обозначать каждое меню одним словом. Многословные названия или названия, содержащие пробелы, могут быть восприняты пользователем как два (или более) однословных названия. Вместе с тем, рекомендуется избегать необычных сложных слов, таких например, как Шрифторазмер. Определите для каждого меню один символ, которому будет соответствовать клавиша быстрого доступа. Этот символ отображается в заголовке меню как подчеркнутый символ. Каждое меню должно иметь уникальную клавишу быстрого доступа. В противном случае непосредственный доступ к требуемому меню окажется невозможен. 5.1.5. ПУНКТЫ МЕНЮ Каждый пункт меню соответствует определенному действию, которое может выполнить пользователь в данной ситуации. Пункты меню могут быть представлены в текстовой или в графической форме (например, в виде пиктограмм), либо как комбинация графики и текста. При использовании графического интерфейса формат пункта меню должен обеспечивать визуальное отображение выбора пользователя. Если меню содержит большое количество пунктов, и они могут быть сгруппированы по некоторому признаку, целесообразно визуально разделить такие qjynnbi. В качестве стандартного разделителя используется горизонтальная прямая линия. Не рекомендуется использовать в качестве разделителей сами пункты меню, либо текстовые подзаголовки, которые могут быть восприняты пользователями как название пункта меню. Всегда обеспечивайте пользователя визуальным указанием тех пунктов, которые в данной ситуации не доступны. Обычно такие пункты меню либо «обесцвечиваются», либо вообще не отображаются на панели, причем первый способ является более предпочтительным с точки зрения обеспечения обратной связи с пользователем. Из этих же соображений целесообразно сохранить для недоступных пунктов возможность выдачи подсказки. В частности, если окно содержит строку состояния, то в ней можно отобразить сообщение, указывающее, что собой представляет данная команда, и почему она недоступна. Если в некоторой ситуации ни один из пунктов меню не является доступным, сделайте недоступным данное меню в целом. Система обеспечивает стандартный способ отображения недоступных пунктов меню. Если вы хотите использовать собственный способ визуализации таких пунктов, помните о том, что он должен быть одинаков для всех однотипных меню создаваемого приложения. Форматы пунктов меню Многие пункты меню вступают в силу сразу же, как только они были выбраны. Если пункт меню является командой, которая требует ввести дополнительную информацию, имя команды должно сопровождаться многоточием (...). Многоточие (эллипсис) сообщает пользователю, что информация неполна. Выполнение таких команд обычно сопровождается выводом на экран диалоговой панели, обеспечивающей ввод пользователем требуемой информации. Например, команда Сохранить как... содержит эллипсис, поскольку она не может быть выполнена до тех пор, пока пользователь не укажет или не подтвердит имя файла, в который будет произведена запись. Вместе с тем, не каждая команда, которая приводит к открытию диалоговой панели или другого вторичного окна, должна содержать эллипсис. Например, не следует его использовать для команды Свойства, поскольку выполнение данной команды само по себе предполагает открытие окна, отображающего свойства соответствующего объекта. Не следует также его использовать для команд, выполнение которых может завершаться выводом на экран окна сообщения. Наряду с использованием пунктов меню для выполнения команд, с их помощью можно также реализовать переключение режимов или установку требуемого состояния (или свойств) объекта без запуска соответствующего процесса. Например, выбор одного из пунктов меню, которое содержит список панелей инструментов, подразумевает соответствующее изменение формата окна. Если меню обеспечивает установку значений свойств объекта (например, размера шрифта), то выбор одного из пунктов такого меню означает изменение этого значения. Пункты меню для установки параметров состояния объектов могут быть независимыми или взаимозависимыми. Независимые пункты меню эквивалентны флажкам. Например, если меню содержит список параметров текста, таких как начертание шрифта (Полужирный, Курсив), то они образуют группу независимо устанавливаемых параметров. Пользователь может изменить каждый из них независимо от значений других, даже если все они относятся к одному фрагменту текста. Для визуального отображения выбора таких пунктов меню рекомендуется использовать маркер флажка (в виде «птички»), отображаемый на панели меню слева от выбранного пункта. Взаимозависимые пункты меню аналогичны переключателям. Например, если меню содержит способы выравнивания текста (По центру, По правому краю, По ширине), то они образуют группу взаимозависимых параметров. Поскольку к выбранному участку текста может быть применен только один тип выравнивания, выбор одного пункта из группы автоматически отменяет выбор любого другого. Для визуального отображения выбора таких пунктов меню рекомендуется использовать маркер переключателя (в виде кружка), также отображаемый слева от выбранного пункта меню. При использовании меню для выбора одного из двух альтернативных вариантов, как например, присутствие или отсутствие некоторого свойства объекта, для указания выбранного пункта также может использоваться маркер флажка. Например, если состояние текстового фрагмента соответствует пункту меню Полужирный, отобразите возле этого пункта маркер и уберите его, когда в выбранном фрагменте используется не полужирный шрифт. Если фрагмент содержит смешанный шрифт, пункт Полужирный также отображается без маркера. Если же два какие-либо состояния не являются очевидными для пользователя альтернативами, целесообразно использовать два замещаемых названия для одного пункта меню, каждое из которых соответствует одному из альтернативных состояний. Например, не очень подготовленный пользователь может предположить, что альтернативой пункту меню с названием Полное дублирование является вариант Пустое дублирование (вместо Дублирование фрагмента). При выборе такого пункта меню его название изменяется на альтернативное. Выбирая способ отображения в меню альтернативных вариантов, следует придерживаться следующих принципов: • Если на панели меню имеется достаточное свободное пространство, лучше включить в меню альтернативные варианты в качестве отдельных пунктов; это позволит пользователю видеть оба варианта одновременно; если таких альтернативных пар в меню несколько, они могут быть отделены друг от друга разделителем. Избегайте такого определения пунктов меню, при котором их названия изменяются в зависимости от состояния клавиши-модификатора. При таком подходе большинство пользователей не смогут уяснить функциональные возможности приложения. • При отсутствии в меню пространства для одновременного отображения альтернативных вариантов может быть использован единственный пункт меню, название которого изменяется при выборе на альтернативное. В этом случае название пункта меню отражает не текущее, а альтернативное состояние (т.е. состояние послеследующего выбора данного пункта). Где это возможно, старайтесь подбирать такие названия для альтернативных вариантов, для которых клавиша-акселератор будет связана с одним и тем же символом. Например, буква Д могла бы использоваться для пункта меню, который переключается между Полным дублированием и Дублированием фрагмента. Меню может также содержать пункт, выбираемый по умолчанию. Для такого пункта обязательно должна поддерживаться техника ускоренного доступа (например, посредством двойного щелчка ЛКМ) или техника drag-and-drop (перетащи и оставь). Так, если для пиктограммы по умолчанию используется команда Открыть, включите в меню соответствующий пункт, который.также будет выбираться по умолчанию. Аналогично, если для операции drag-and-drop команда, выполняемая по умолчанию,—Копировать, отобразите ее во всплывающем меню в качестве пункта, выбираемого по умолчанию. В соответствии с системными соглашениями пункты, выбираемые по умолчанию, отображаются на панели меню как полужирный текст. Метка пункта меню Каждый пункт меню целесообразно снабдить текстовым комментарием или графической меткой, либо комбинацией того и другого. При выборе формата метки следует помнить, что для текста значительно проще назначить клавишу-акселератор. При выборе текстовых имен для обозначения пунктов меню придерживайтесь следующих правил: Используйте уникальные имена для пунктов в пределах одного меню; пункт с тем же названием может повторяться в других меню, чтобы представить аналогичные или другие действия. Название пункта может состоять из одного слова или из нескольких, но в любом случае оно должно в сжатой форме отражать смысл выполняемых действий. Пространные названия пунктов меню затрудняют его быстрый просмотр пользователем. Определяйте уникальные клавиши быстрого доступа для каждого пункта в пределах меню. Основные правила выбора клавиши-акселератора для пунктов меню — такие же, как и для меню в целом; кроме того, клавиша-акселератор для пункта меню может быть обозначена порядковым номером пункта меню (если таковой отображается на панели меню). Это полезно для тех пунктов меню, названия которых изменяются (например, содержащих имя файла). Где это возможно,определяйте одни и те же клавиши доступа для одноименных пунктов, используемых в разных меню. Старайтесь придерживаться норм используемого языка (как русского, так и английского, или любого другого) по использованию заглавных букв в названии пункта меню. В частности, для англоязычных версий рекомендуется делать заглавной первую букву каждого слова, за исключением артиклей, союзов и предлогов, которые встречаются «внутри» многословных названий. Например, правильными являются следующие названия пунктов меню: NewFolder (Новая папка), GoTo (Перейти), SelectAll (Выделить все), GotoPage(Перейти на страницу). Избегайте использования индивидуальных текстовых стилей для каждого пункта меню. Это не только может затруднить визуальное восприятие меню пользователем, но и сделает невозможным однотипное выделение тех символов, которым сопоставлены клавиши-акселераторы. 5.2. КНОПКИ Кнопки - это элементы интерфейса, которые служат для инициирования каких-либо действий или для изменения свойств объектов. Существует три основных типа кнопок: кнопки управления (CommandButtons), кнопки установки параметров (OptionButtons, Radiobuttons), или переключатели, и кнопки независимого выбора, или флажки (Checkboxes). 5.2.1. КНОПКИ УПРАВЛЕНИЯ Кнопка управления, обычно именуемая в русскоязычных изданиях просто кнопкой, предназначена для запуска связанной с ней команды или операции; такая кнопка имеет, как правило, прямоугольную форму и снабжается поясняющей меткой, в качестве которой может использоваться текст, графический символ, либо то и другое. Когда пользователь выбирает кнопку с помощью мыши (щелкает на ней Л КМ), выполняется команда, связанная с кнопкой. Если пользователь нажимает кнопку мыши (не отпуская ее), фокус ввода переходит на кнопку; при этом изменяется состояние кнопки (она отображается как «нажатая»). При перемещении указателя за пределы кнопки она возвращается в свое исходное состояние. Перемещение указателя обратно на кнопку вновь переводит ее в «нажатое» состояние. Если пользователь отпускает кнопку мыши, когда указатель находится над кнопкой, выполняется связанная с ней команда; если же указатель расположен за пределами кнопки, фокус ввода «снимается» с кнопки без выполнения команды. Вы можете определить для кнопок клавиши доступа и клавиши-акселераторы. Кроме того, целесообразно обеспечить пользователю возможность навигации между кнопками с помощью клавиатуры. Для этого рекомендуется использовать клавишу <ТаЬ> в сочетании с клавишами управления курсором. Клавиша Результат команды, выполняемой при «нажатии» кнопки, проявляется немедленно и непосредственно влияет на текущую ситуацию. Например, при «нажатии» кнопки, расположенной на панели инструментов приложения, тут же выполняется связанное с ней действие; «нажатие» кнопки, отображенной во вторичном окне, обеспечивает прием вводимых данных и, возможно, закрытие окна. Как было указано выше, кнопка управления снабжается меткой, обозначающей связанное с ней действие. Если в качестве метки используется текст, то он должен отвечать тем же требованиям, которые были рассмотрены ранее применительно к пунктам меню. Если в какой-либо ситуации связанная с кнопкой команда является недоступной, то это должно быть отображено визуально (как правило, в этом случае обесцвечивается метка кнопки). Для кнопок, связанных с командами, которые требуют ввода дополнительной информации, в качестве соответствующего визуального признака используется эллипсис (...). Для некоторых кнопок при их «нажатии» может выводиться окно сообщения, но это не означает, что метка такой кнопки должна содержать эллипсис. Кнопки могут также использоваться для расширения вторичного окна с цел ыо отображения в нем дополнительных параметров; такие кнопки называются кнопками развертывания и представляют собой частный случай применения кнопок для выполнения специфической функции. Если кнопка используется с указанной целью, ее метка должна содержать пару символов >>. 5.2.2. ПЕРЕКЛЮЧАТЕЛИ Переключатели, иногда называемые также радио-кнопками, предоставляют пользователю возможность выбрать единственный вариант из предлагаемого множества взаимоисключающих альтернатив. Другими словами, в любой группе переключателей может быть установлен (выбран) только один. Поэтому если окно содержит переключатели, относящиеся к разным объектам или к различным свойствам одного объекта, они обязательно должны быть явным образом разделены на соответствующие группы. Переключатели изображаются в виде небольших кружков. Если кнопка выбрана, в середине кружка появляется точка (маркер). Не рекомендуется использовать переключатели для запуска команд (т.е. в качестве кнопок управления). Единственным исключением является случай, когда двойной щелчок ЛКМ на переключателе используется как средство быстрого выбора значения некоторой величины и выполнения встроенной команды окна, которая является основным (или единственно возможным) действием пользователя для данного окна. Как правило, переключатели используются для выбора одного из возможных значений некоторого свойства объекта. При этом желательно ограничить число различных вариантов (обычно используют не более семи), но вместе с тем их должно быть не менее двух. Если необходимо предложить пользователю большее количество вариантов, используйте другие элементы управления, например меню. 5.2.3. ФЛАЖКИ Подобно переключателям, флажок может находиться в одном из двух состояний: «включено» или «выключено»; применительно к флажкам эти состояния обычно именуются «флажок установлен» или «флажок снят». Основное отличие флажков от переключателей заключается в том, что они используются для отображения независимых вариантов выбора. Другими словами, пользователь может одновременно выбрать (установить) несколько флажков, входящих в одну группу. Флажок изображается в виде небольшого квадратного окошечка с сопутствующей меткой. Когда флажок установлен, в окошечке появляется маркер. ![]() ![]() В некоторых случаях флажок может использоваться для управления другими элементами интерфейса. В частности, от состояния флажка может зависеть доступность элементов более низкого уровня иерархии. Если список установок содержит большое число пунктов, или если их количество изменяется, вместо флажков удобнее использовать список множественного выбора. Когда пользователь щелкает ЛКМ в окошечке флажка или на его метке, состояние флажка переключается на противоположное. При нажатии кнопки мыши фокус ввода переходит на флажок. Как и при работе с другими элементами управления, если пользователь, удерживая кнопку мыши, перемещает указатель за пределы флажка, элемент возвращается в исходное состояние. Состояние флажка не изменится, пока кнопка мыши не будет отпущена. Для изменения состояния указатель должен находиться в этот момент над флажком или его меткой. Чтобы предоставить пользователю клавиатурный интерфейс для управления флажками, определите для каждой из них клавишу доступа. Кроме того, для навигации между кнопками могут поддерживаться клавиша <ТаЬ> и клавиши управления курсором. Если фокус ввода находится на одном из флажков, отображаемых на диалоговой панели, то для его перемещения между флажками может использоваться клавиша 5.3. СПИСКИ Список предоставляет пользователю удобное средство управления выбором требуемых объектов или их свойств. Элементы списков могут быть представлены как в текстовой, так и в графической форме. Любой список как элемент интерфейса должен обеспечивать не только визуальное отображение сделанного пользователем выбора, но и поддержку связанных с выбранными пунктами (или пунктом) действий. Использование списка является наиболее целесообразным в тех случаях, когда число возможных вариантов выбора велико, либо когда их перечень может изменяться. Если какой-либо элемент списка не может быть выбран в данной ситуации, следует удалить его из списка. Например, если определенный размер не доступен для установленного шрифта, не отображайте этот размер в списке. Порядок расположения элементов в списке определяется, как правило, его содержанием, и должен облегчать просмотр списка пользователем. Например, если список содержит имена, то их целесообразно расположить по алфавиту; список дат лучше составить в хронологическом порядке. Стандартный список не снабжается текстовой меткой. Тем не менее, вы можете создать для списка метку в виде статической текстовой области, которая будет использоваться в качестве ссылки для клавиатурного доступа к списку. Если в текущей ситуации список недоступен, отобразите на экране его метку в соответствующем виде. Ширина поля списка должна быть достаточной, чтобы разместить в списке название пункта средней длины. Если заранее невозможно подобрать таковую, используйте один из следующих подходов: сделайте поле списка достаточно широким, чтобы разместить в нем наиболее «длинный» элемент; используйте эллипсис (...) в середине или в конце длинных названий, чтобы сократить их, сохранив при этом те символы, по которым их следует различать. Например, при указании маршрутов доступа наиболее важными являются обычно начало и конец маршрута, поэтому промежуточные каталоги могут быть заменены эллипсисом: \Образец\...\Пример; включите в панель списка горизонтальную полосу прокрутки; правда, этот вариант имеет некоторые ограничения по использованию, поскольку наличие полосы прокрутки приводит к сокращению объема данных, которые пользователь может просмотреть одновременно. Если количество пунктов в списке превышает видимую область, то в поле списка включается вертикальная полоса прокрутки. При этом должны соблюдаться те же правила использования полосы прокрутки, которые были рассмотрены ранее. Для выбора и прокрутки списка могут быть также использованы клавиши управления курсором. Кроме того, для списка обеспечивается поддержка клавиатурно го выбора с помощью текстовых клавиш. Когда пользователь нажимает текстовую клавишу, в списке производится выбор соответствующего пункта, при этом список перемещается таким образом, чтобы выбор был виден пользователю. Последующие нажатия текстовых клавиш обеспечивают продолжение процесса сопоставления слова, набираемого на клавиатуре, с названиями пунктов списка. При этом каждое последующее нажатие клавиши должно быть выполнено в пределах установленной системной задержки. Если задержка истекает, сопоставление возобновляется с первого символа. Включая список в состав окна приложения, продумайте возможность использования при работе со списком команд редактирования (Вырезать, Копировать, Вставить) и операций прямого мнипулирования. Если список содержит пиктограмы или величины, которые пользователь может переместить или скопировать в другие позиции окна (например, в другой список), доступность таких операций может существенно ускорить его работу. Для текущего (просматриваемого) списка эти операции поддерживаются автоматически; тем не менее, система обеспечивает возможность реализации указанных операций и для других (не активных) списков. Списки могут различаться способом отображения содержимого и типом выбора, который они поддерживают. 5.3.1. СПИСОК ЕДИНИЧНОГО ВЫБОРА Список единичного выбора (SingleSelectionListBox) используется для выбора только одного пункта в списке. Следовательно, такой элемент управления реализует функцию взаимного исключений, подобно группе переключателей, за исключением того, что список позволяет более эффективно оперировать большим количеством пунктов. Размер (высота) панели списка единичного выбора обычно выбирается таким образом, чтобы в нем можно было показать от трех до восьми пунктов. Всегда включайте в окно списка вертикальную полосу прокрутки. Если все пункты в списке видимы, то стрелки полосы прокрутки следует заблокировать; в остальном правила использования полосы прокрутки остаются прежними. Пользователь может выбрать требуемый пункт в списке единичного выбора, щелкнув на нем ЛКМ. Фокус ввода также устанавливается на этом пункте. Поскольку список рассматриваемого типа поддерживает выбор только единственного пункта, при изменении выбора любой другой пункт в списке становится невыбранным. Для реализации клавиатурного интерфейса при работе со списком используются клавиши навигации (клавиши управления курсором, |