Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л11.doc
Скачиваний:
12
Добавлен:
30.10.2018
Размер:
154.11 Кб
Скачать
  1. Діалог вибору шрифту — компонент FontDialog

Компонент FontDialog викликає діалогове вікно вибору атрибутів шрифту. У ньому користувач може вибрати ім'я шрифту, його стиль (зображення), розмір і інші атрибути.

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

Властивості MaxFontSize і MinFontSize встановлюють обмеження на максимальний і мінімальний розміри шрифту. Якщо значення цих властивостей рівні 0 (за умовчанням), то ніякі обмеження на розмір не накладаються. Якщо ж значення властивостей задані, то в списку Розмір діалогового вікна з'являються тільки розміри, що укладаються в заданий діапазон. При спробі користувача задати неприпустимий розмір йому буде видане попередження вигляду «Розмір повинен лежати в інтервалі ...» і вибір користувача відміниться. Правда, це спрацьовує не на всіх версіях Windows. Властивості MaxFontSize і MinFontSize діють тільки при включеній опції fdLimitSize

Властивість Device визначає, з якого списку можливих шрифтів буде запропонований вибір в діалоговому вікні: fdScreen — із списку екрану (за умовчанням), fdPrinter — із списку принтера, fdBoth — з обох.

Властивість Options містить набір опцій, основними з яких є:

fdAnsiOnly - відображати тільки набори шрифтів символів Windows, не відображати шрифтів із спеціальними символами;

fdApplyButton - аідображати в діалозі кнопку Застосувати незалежно від того, чи передбачений обробник події OnApply;

fdEffects - відображати в діалозі індикатори спеціальних ефектів (підкреслення і ін.) і список Колір.

fdFixedPitchOnly - відображати тільки шрифти з постійною шириною символів;

fdForceFontExist - дозволяє користувачу вибирати шрифти тільки із списку, забороняти йому вводити інші імена.

Приведемо приклади застосування компоненту FontDialog. Хай ваше застосування включає вікно редагування Memo1, шрифт в якому користувач може вибирати командою меню Шрифт. Ви ввели в застосування компонент FontDialog, ім'я якого за умовчанням FontDialog1. Тоді обробник команди Шрифт може мати вигляд:

if (FontDialog1->Execute())

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

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

Якщо ви встановите в компоненті FontDialog1 опцію fdApplyButton, то можете написати обробник події OnApply:

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

Тоді користувач може спостерігати зміни у вікні Memo1, натискаючи в діалоговому вікні кнопку Застосувати і не перериваючи діалогу. Це дуже зручно, оскільки дозволяє користувачу правильно підібрати атрибути шрифту.

Якщо вікно редагування у вашому застосуванні використовує RichEdit, то можете надати користувачу вибирати атрибути шрифту для виділеного фрагмента тексту або для тексту, що знов вводиться. Тоді виконання команди меню Шрифт може здійснюватися операторами:

if(FontDialog1->Execute())

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

Ви можете дозволити користувачу змінювати шрифт не тільки окремих компонентів, але і всіх компонентів і написів на формі. Це здійснюється оператором:

if (FontDialog1->Execute())

Font->Assign(FontDialog1->Font);

У цьому операторі властивість Font без посилання на компонент має на увазі шрифт форми.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]