Лекции.Орг


Поиск:




Диалог выбора шрифта – компонент FontDialog




 

Перенесите на форму компонент FontDialog.

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

Основное свойство компонента – Font типа TFont, в котором можно задать начальные установки атрибутов шрифта и в котором можно прочесть значения атрибутов, выбранные пользователем в процессе диалога.

Свойства MaxFontSize и MinFontSize устанавливают ограничения на максимальный и минимальный размеры шрифта. Значения по умолчанию равны нулю, и тогда ограничения на размер отсутствуют.

Свойство Device определяет, из какого списка возможных шрифтов будет предложен выбор в диалоговом окне: fdScreen – из списка экрана (по умолчанию), fdPrinter – из списка принтера, fdBoth – из обоих.

Свойство Options содержит множество опций, из которого выделим следующие:

 

fdAnsiOnly Отображать только множество шрифтов символов Windows, не отображать шрифтов со специальными символами
fdApplyButton Отображать в диалоге кнопку Применить независимо от того, предусмотрен ли обработчик события OnApply
fdEffects Отображать в диалоге индикаторы специальных эффектов (подчеркивание и др.) и список Цвет
fdFixedPitchOnly Отображать только шрифты с постоянной шириной сим-волов
fdForceFontExist Позволять пользователю выбирать шрифты только из списка, запрещать ему вводить другие имена
fdLimitSize Разрешить использовать свойства MaxFontSizeиMin-FontSize, ограничивающие размеры шрифта
fdNoFaceSel Открывать диалоговое окно без предварительно установ-ленного имени шрифта
fdScalableOnly Отображать только масштабируемые шрифты, удалять из списка не масштабируемые (шрифты bitmap)
fdNoSizeSel Открывать диалоговое окно без предварительно установ-ленного размера щрифта
fdNoStyleSel Открывать диалоговое окно без предварительно установ-ленного начертания шрифта
fdWysiwyg Предлагать в списке только шрифты, доступные и для эк-рана, и для принтера, удаляя из него аппаратно зависимые шрифты

 

По умолчанию все опции, кроме fdEffects, отключены.

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

 

Рассмотрим примеры применения компонента FontDialog.

1. Начните новое приложение. На форме с надписью ДИАЛОГ FONTDIALOG разместите компоненты MainMenu1, Memo1, RichEdit1, FontDialog1, FontDialog2, FontDialog3.

2. Сконструируйте меню с командами Шрифт_M, Шрифт_R, Шрифт_F.

3. В обработчик команды Шрифт_M впишите

if(FontDialog1->Execute())

Memo1->Font->Assign(FontDialog1->Font);

Приведенный оператор вызывает диалог выбора атрибутов шрифта и, если пользователь произвел выбор, значения всех выбранных атрибутов, содержащиеся в свойстве FontDialog1->Font, присваиваются атрибутам окна редактирования, содержащимся в свойстве Memo1->Font. Шрифт в окне Memo1 немедленно изменится. Убедитесь в этом, запустив приложение на выполнение.

4. В компоненте FontDialog1 установим опцию fdApplyButton в true и напишем обработчик события OnApply:

Memo1->Font->Assign(FontDialog1->Font);

Выполним приложение. Теперь пользователь может наблюдать изменения в окне Memo1, нажимая в диалоговом окне кнопку Применить и не прерывая диалога. Это очень удобно, так как позволяет пользователю правильно подобрать атрибуты шрифта.

5. Используем в качестве окна редактирования RichEdit1. Теперь в диалоговом окне пользователь выбирает атрибуты шрифта для выделенного фрагмента текста или для вновь вводимого текста. Эта возможность реализуется следующим обработчиком команды Шрифт_R:

if(FontDialog2->Execute())

RichEdit1->SelAttributes->Assign(FontDialog2->Font);

Сохраните все и выполните приложение.

6. Можно разрешить пользователю изменять шрифт не только отдельных компонентов, но и всех компонентов и надписей на форме. Это осуществляется следующим обработчиком команды Шрифт_F:

if(FontDialog3->Execute())

Font->Assign(FontDialog3->Font);

В этом операторе свойство Font без ссылки на компонент подразумевает шрифт формы.

Запустите приложение на выполнение и убедитесь в работоспособности приложения.

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 715 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

771 - | 744 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.