// Присваиваем значение экземплярам делегатов:
RBH=setType; // Экземпляр делегата для меню выбора
// типа шрифта
CBH=setStyle; // Экземпляр делегата для меню выбора
// стиля шрифта
TBH=setSize; // Экземпляр делегата для меню выбора
// размера шрифта
// Добавление главного меню в окно формы.
// При вызове метода getMainMenu() используются
// экземпляры делегатов
// для обработчиков событий:
Menu=getMyMenu();
// Применение шрифта к образцу текста:
sample.Font=SFont;
}
}
// Класс с главным методом программы:
class FontApplyDemo {
// Главный метод программы:
public static void Main(){
// Отображаем окно формы:
Application.Run(new MyForm());
}
}
Более детальный анализ некоторых фрагментов этого кода будет приве-
ден несколько позже. Сейчас остановимся на том, как выполняется данная
программа. Так, при запуске программы появляется окно, представленное
на рис. 8.1.
Рис. 8.1. Вид отображаемого при запуске программы окна формы
Программный код и выполнение программы 295
Как уже отмечалось ранее, окно с названием Работаем со шрифтами содержит
меню из четырех пунктов (Действие, Тип шрифта, Стиль шрифта и Размер шрифта), группу переключателей Тип шрифта на три положения (Arial, Times и Courier), поля с текстом Размер шрифта (от 10 до 20), двух опций (Применить стиль Жир-
ный и Применить стиль Курсив), области образца текста с текстом Образец текста
и двумя кнопками (Применить и Выход).
Пункт меню Действие содержит две команды — Применить и Выход (рис. 8.2).
Рис. 8.2. Команды пункта меню Действие
Назначение команд такое же, как и одноименных кнопок. В пункте меню
Тип шрифта три команды — Arial, Times и Courier (рис. 8.3).
Рис. 8.3. Команды пункта меню Тип шрифта
Названия команд не случайно совпадают с названиями переключателей
в группе переключателей Тип шрифта. Выбор команды имеет такой же эф-
фект, как и установка переключателя в одноименное положение.
296
Глава 8. Приложение с графическим интерфейсом: учебный проект
В пункте меню Стиль шрифта всего две команды — Жирный и Курсив (рис. 8.4).
Рис. 8.4. Команды пункта меню
Стиль шрифта
Выбор команды в пункте меню приводит к установке/отмене флажка соот-
ветствующей опции в области окна формы. В отличие от группы переклю-
чателей, изменение состояния опций к автоматическому изменению пара-
метров шрифта не приводит. Для этого необходимо щелкнуть на кнопке
Применить или выбрать команду Применить в пункте меню Действие. Это же
замечание относится к командам пункта меню Размер шрифта (рис. 8.5).
Рис. 8.5. Команды пункта меню
Размер шрифта
Список команд пункта меню Размер шрифта — это набор цифр в диапазоне от
10 до 20 включительно. Выбор команды в этом списке приводит к заполне-
нию поля ввода соответствующим значением.
Программный код и выполнение программы 297
Несколько следующих рисунков иллюстрируют функциональность окна
формы. Так, на рис. 8.6 показано окно, у которого установлены опции при-
менения жирного стиля и курсива, а в поле размера шрифта указано значе-
ние 18 (настройки выполнены, но не применены).
Рис. 8.6. Окно с выполненными настройками:
для их применения щелкаем на кнопке Применить
Для применения настроек щелкаем на кнопке Применить. Результат показан
на рис. 8.7.
Рис. 8.7. Результат применения настроек
Изменение типа шрифта вступает в силу автоматически. На рис. 8.8 по-
казан результат щелчка на переключателе Courier в группе переключателей
Тип шрифта.
298
Глава 8. Приложение с графическим интерфейсом: учебный проект
Рис. 8.8. При изменении типа шрифта изменения вступают в силу автоматически
В принципе, поскольку поле ввода размера шрифта по своей природе тек-
стовое, в него можно ввести все, что угодно, и не обязательно число. Такие
ситуации обрабатываются корректно — вместо «непонятного» значения
используется размер 10, причем выполняется автоматическая замена зна-
чения в поле ввода. На рис. 8.9 показано окно формы с некорректным зна-
чением в поле размера шрифта.
Рис. 8.9. Окно перед применением настроек:
в процессе выполнения настроек в поле размера введено некорректное значение
После щелчка на кнопке Применить все корректные настройки вступают
в силу, а в качестве размера шрифта используется значение 10 (рис. 8.10).
Если в поле размера шрифта указать слишком большое (большее 20) зна-
чение, при применении настроек оно «урезается» до 20. На рис. 8.11 в поле
размера шрифта указано значение 10000.
После применения настроек окно выглядит так, как показано на рис. 8.12.