Проектирование графического интерфейса пользователя______________233

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

Использование шрифта по умолчанию (MS Sans Serif) чаще всего позволяет
избежать подобных неприятностей. Впрочем, увы, не всегда. Если вы используете
для надписей русские тексты, то при запуске приложения на компьютере с неруси-
фицированным Windows иногда возможны неприятности. Для подобных случаев
все-таки полезно приложить файлы использованных шрифтов к вашей программе.
Вы можете в программе установки вашего приложения найти системный каталог
Windows с помощью функции GetSystemDirectory. В этом каталоге обычно распо-
ложены файлы шрифтов. Затем вы можете проверить, имеется ли нужный вам
шрифт, и если нет, то скопировать его со своей дискеты или CD ROM.

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

Подробное рассмотрение всех свойств компонентов, связанных со шрифтами,
примеры их использования и исследования вы найдете в главе 15 в разделе
«Font».

4.1.5 Требования к меню

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

В C++Builder меню создаются компонентами MainMenu — главное меню, и
PopupMenu — всплывающее меню. Оба компонента расположены на странице
Standard. Все операции по проектированию меню с помощью этих компонентов по-
дробно рассмотрены в разделе 3.4. А в данном разделе мы обсудим требования^
предъявляемые к меню приложений Windows.

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