Компоненты Windows Forms. Компонент FontDialog

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

   
Компонент находится в списке Dialogs (Диалоговые окна) палитры компонентов, обеспечивает выбор шрифта и его атрибутов (стиля, размера, цвета и т. п.) в диалоговом режиме.

   
Свойства этого компонента приведены на рисунке 1.


Рис.1. Свойства компонента FontDialog

   
Среди перечисленных свойств можно отметить следующие:

  • ShowColor - при значении True позволяет выбирать цвет шрифта;
  • Font - выбранный в диалоговом окне шрифт;
  • Color - выбранный в диалоговом окне цвет шрифта.

   
Таким образом, после выбора нужного шрифта его название попадает в свойство компонента Font.

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


Рис.2. Форма в режиме разработки

   
Тексты обработчиков кнопок:

// Кнопка "Выход"
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
	 Close();
 }
// Кнопка "Задание шрифта"
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
	 if ( fontDialog1->ShowDialog() == 
		 System::Windows::Forms::DialogResult::OK )
		 listBox1->Font = fontDialog1->Font;
 }


Рис.3. Форма в режиме выполнения

   
Изменим немного наше приложение. Добавим возможность не только выбора шрифта, но и его цвета.

   
Для этого у компонента FontDialog установим свойство ShowColor в True (рисунок 1). Это позволит в диалоговом окне выбора шрифта отобразить секцию, которая отвечает за выбор цвета.
Обработчик кнопки "Задание шрифта" дополним условием, проверяющим установку этого свойства: в случае положительного ответа изменим цвет шрифта у компонента ListBox:

// Кнопка "Задание шрифта"
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
	 if ( fontDialog1->ShowDialog() == 
		 System::Windows::Forms::DialogResult::OK )
	 {
		 listBox1->Font = fontDialog1->Font;
		 // Проверка установки свойства ShowColor
		 if (fontDialog1->ShowColor) 
			 listBox1->ForeColor = fontDialog1->Color;
	 }
 }

   
Результат работы приложения приведен на рисунке 4.


Рис.4. Возможность выбора цвета шрифта

   
Продолжим эксперименты с этим компонентом. Установив свойство ShowApply в True, отобразим в окне выбора шрифта и его параметров кнопку Применить (рисунок 5), которая
позволит установить заданные параметры шрифта без закрытия окна выбора шрифта.


Рис.5. Кнопка "Применить"

   
Однако чтобы она начала выполнять свои функции, нужно реализовать в программе обработчик события Apply компонента FontDialog. Текст его может быть таким:

// Кнопка "Применить" компонента FontDialog
private: System::Void fontDialog1_Apply(System::Object^  sender, 
    System::EventArgs^  e) {
	 listBox1->Font = fontDialog1->Font;
	 // Проверка установки свойства ShowColor
	 if (fontDialog1->ShowColor) 
		 listBox1->ForeColor = fontDialog1->Color;
 }

Архив проекта можно взять здесь.

   
Результат работы приложения приведен на рисунке 6.


Рис.6. Использование кнопки "Применить"

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



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

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