Программирование в системе Windows2000, страница 13

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

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

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

Флажок может также иметь третье состояние, называемое неопределенным. Оно обычно используется, когда не все состояния в наборе стандартных состояний одинаковы для всех объектов. Примером этого может служить диалоговое окно Properties программы Windows Explorer при выборе нескольких файлов. На рис. 1.20 показаны флажки Attributes диалогового окна Properties программы Windows Explorer, когда не все выбранные файлы являются системными или предназначенными только для чтения.

Списки

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

Элементы списка должны быть упорядочены соответствующим образом, чтобы пользователю было легче просматривать содержимое списка. Если не предусмотрены иные принципы упорядочения содержимого списка, оно должно быть отсортировано по алфавиту в порядке возрастания (от А до Z).

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

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

- В середине длинных текстовых элементов должен применяться знак пропуска части строки (...). Например, могут быть уменьшены в размерах длинные имена каталогов путем отображения начала и конца имени каталога (например, \Windows\ ...\example.txt).

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

Включая список в проект окна, для него, в случае необходимости, нужно предусмотреть команды редактирования (Cut, Copy и Paste) и возможность перемещения объектов с помощью перетаскивания. Элементы управления представлением в виде списка

1

поддерживают эти операции непосредственно. Однако эти функциональные средства в; списках могут иметь поддержку, предоставляемую системой.

Простыесписки

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