Базовые компоненты. Компонент FontDialog

   
На этом шаге мы рассмотрим назначение, основные свойства и особенности использования этого компонента.

   
Компонент FontDialog (рисунок 1) является стандартным диалоговым окном и предназначен для выбора шрифта.


Рис.1. Компонент FontDialog

   
Основные свойства этого компонента приведены в таблице 1.

Таблица 1. Свойства компонента FontDialog

СвойствоОписание
ColorПолучает или задает цвет выбранного шрифта
FixedPitchOnlyПолучает или задает значение, показывающее, предоставляет ли диалоговое окно возможность выбора только моноширинных шрифтов (False - нет)
FontПолучает или задает выбранный шрифт
MaxSizeПолучает или задает наибольший размер в пунктах, который может выбрать пользователь
MinSizeПолучает или задает наименьший размер в пунктах, который может выбрать пользователь
ShowApplyПолучает или задает значение, показывающее, содержит ли диалоговое окно кнопку Применить (False - кнопка не отображается)
ShowColorПолучает или задает значение, показывающее, отображает ли диалоговое окно выбор цветов (False - окно не отображается)
ShowEffectsПолучает или задает значение, показывающее, содержит ли диалоговое окно элементы управления, позволяющие пользователю задавать параметры зачеркивания, подчеркивания и цвета текста (False - окно не отображается)
ShowHelpПолучает или задает значение, показывающее, отображает ли диалоговое окно кнопку Справка (False - кнопка не отображается)

   
Приведем текст обработчика события выбора пункта меню Параметры | Шрифт... приложения из 48 шага:

// выбор в меню Параметры команды Шрифт
private: System::Void toolStripMenuItem7_Click(System::Object^  sender, 
		System::EventArgs^  e) {
			 fontDialog1->Font = textBox1->Font;
			if (fontDialog1->ShowDialog() == 
				System::Windows::Forms::DialogResult::OK)
			{
				textBox1->Font = fontDialog1->Font;
			}
}

   
Прокомментируем приведенный фрагмент.

   
Сначала выполняется установка текущего шрифта компонента textBox1 в компоненте fontDialog1. Это делается для того, чтобы пользователь,
при открытии окна выбора шрифта, видел установленный шрифт.

   
Метод ShowDialog() активизирует диалоговое окно выбора шрифта (рисунок 2).


Рис.2. Окно выбора шрифта

   
Пользователь может закрыть это окно, нажав на кнопку OK. В этом случае проверяемое условие в условной конствукции станет истинным, и выполнится присваивание,
помещенное в фигурные скобки, после чего выбранный пользователем шрифт будет использоваться в компоненте textBox1. В противном случае (если
диалоговое окно выбора шрифта было закрыто другим способом) проверяемое условие будет ложным, и свойство Font компонента textBox1
не изменит сове значение.

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

   
Для нашего случая обработчик события будет выглядеть так:

// выбор в меню Параметры команды Шрифт
private: System::Void toolStripMenuItem7_Click(System::Object^  sender, 
		System::EventArgs^  e) {
			 fontDialog1->Font = textBox1->Font;
			if (fontDialog1->ShowDialog() == 
				System::Windows::Forms::DialogResult::OK)
			{
				textBox1->Font = fontDialog1->Font;
				textBox1->ForeColor = fontDialog1->Color;
			}
}

   
В заключение отметим, что важную роль в обработке щелчка на кнопке Применить диалогового окна выбора шрифтов играет событие
Apply компонента FontDialog. Оно вызывается тогда, когда пользователь щелкнет по этой кнопке. Окно выбора шрифтов не закроется, но, тем
не менее заланные параметры вступят в силу. Напомним, что для отображения этой кнопки, должно быть установлено в True свойство ShowApply.


Рис.3. Кпопка Применить и результаты ее нажатия

   
Для получения такого результата достаточно написать обработчик события Apply(), в который поместить те же строки, что и в предыдущем случае:

		textBox1->Font = fontDialog1->Font;
		textBox1->ForeColor = fontDialog1->Color;

   
На следующем шаге мы рассмотрим компонент PrintDialog.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий