Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Диалог выбора шрифта – компонент 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; Мы поможем в написании ваших работ!; просмотров: 758 | Нарушение авторских прав


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

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

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

4600 - | 4244 -


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

Ген: 0.009 с.