TFontDialog – діалог вибору шрифта.
Компонент TFontDialog створює і обслуговує стандартне вікно вибору шрифта.
Властивість Device: TFontDialogDevice визначає тип пристрою, для якого обирається шрифт (TFontDialogDevice = (fdScreen, fdPrinter, fdBoth)). fdScreen – екран, fdPrinter – прінтер, fdBoth – шрифти, що підтримуються і екраном, і прінтером.
Діапазон можливих значень розмірів шрифтів визначається властивостями MinFontSize та MaxFontSize. Значення цих властивостей задаються в пунктах. Якщо властивості містять 0, то обмеження на розмір шрифта відсутні.
Властивість Options: TFontDialogOptions використовується для налаштування діалогу. Значення цієї властивості мають наступний сенс.
Значення |
Функції |
fdAnsiOnly |
Показує тільки шрифти з набором символів Windows |
fdTrueTypeOnly |
Показує тільки TrueType-шрифти |
fdEffects |
Включає до складу вікна перемикачі “Підкреслений” та “Закреслений”, а також список вибору кольору шрифта |
fdFixedPitchOnly |
Включає тільки моноширинні шрифти |
fdForceFontExists |
Попереджає про вибір неіснуючого шрифта |
fdNoFaceSel |
Забороняє виділення імені шрифта в момент відкриття вікна |
fdNoOEMFonts |
Забороняє вибір MS-DOS шрифтів |
fdNoSimulations |
Виключає шрифти, що створюються графічним інтерфейсом Windows. |
fdNoSizeSel |
Забороняє виділення розміру шрифта в момент відкриття вікна |
fdNoStyleSel |
Забороняє виділення стилю шрифта в момент відкриття вікна |
fdNoVectorFonts |
Виключає векторні шрифти |
fdShowHelp |
Включає в діалогове вікно кнопку Help |
fdWysiwyg |
Включає шрифти, що підтримуються і екраном, і прінтером |
fdLimitSize |
Включає обмеження на розмір шрифта, що задаються властивостями MinFontSize та MaxFontSize |
fdScalableOnly |
Включає тільки шрифти, що масштабуються (векторні та TrueType) |
fdApplyButton |
Включає до складу вікна кнопку “Примінити” |
Результат вибору шрифта містить властивість Font.
TFindDialog – діалог пошуку
Стандартне діалогове вікно компоненту TFindDialog використовується для пошуку фрагменту тексту.
Основні властивості компоненту:
Властивість |
Тип |
Призначення |
FindText |
String |
Вказує зразок для пошуку |
Left |
Integer |
Містить горизонтальну позицію лівого верхнього кута того місця, де з’являється вікно |
Options |
TFindOptions |
Визначає налаштування діалогу |
Position |
TPoint |
Містить горизонтальну і вертикальну позицію лівого верхнього кута того місця, де з’являється вікно |
Top |
Integer |
Містить вертикальну позицію лівого верхнього кута того місця, де з’являється вікно |
Для компонента визначений наступний тип, що використовується у властивості Options:
TFindOptions = (frDown, frFindNext, frHideMatchCase, frHideWholeWord, frHideUpDown, frMatchCase, frDisableMatchCase, frDisableUpDown, frDisableWholeWord, frReplace, frReplaceAll, frWholeWord, frShowHelp);
TFindOptions = set of TFindOption;
Його значення мають наступний сенс:
Значення |
Функції |
frDown |
Встановлює напрямок пошуку “Вперед по тексту” |
frFindNext |
Повідомляє програму, що користувач натиснув клавішу “Найти далее” |
frHideMatchCase |
Прибирає прапорець в перемикачі “С учетом регистра” |
frHideWholeWord |
Прибирає прапорець в перемикачі “Только слово целиком” |
frHideUpDown |
Приховує кнопки вибору напрямку пошуку |
frMatchCase |
Встановляє прапорець в перемикачі “С учетом регистра” |
frDisableMatchCase |
Забороняє вибір “С учетом регистра” |
frDisableUpDown |
Забороняє вибір напрямку пошуку |
frDisableWholeWord |
Забороняє вибір “Только слово целиком” |
frReplace |
Використовується в компоненті TReplaceDialog і вказує на необхідність заміни поточного вибору |
frReplaceAll |
Використовується в компоненті TReplaceDialog і вказує на необхідність заміни всіх входжень зразка пошуку |
frWholeWord |
Встановлює вибір в перемикачі “Только слово целиком” |
frShowHelp |
Додає до вікна кнопку “Help” |
Специфічною особливістю діалога є млжливість перегляду знайденого фрагменту і при необхідності продовження пошуку. З цією метою для компонента визначена подія OnClick: TnotifyEvent, яке виникає кожний раз, коли користувач натискає кнопку “Найти далее”. Процедура обробки повинен знайти зразок в тексті й показати його користувачу. Наприклад, компонент TMemo1 містить фрагмент, що шукається, і пошук відбувається з врахуванням регістру. Тоді оброблювач може мати такий вигляд:
Procedure FindDialog1Find (Sender: TObject);
var
SelPos: Integer;
begin
with TFindDialog1 do
begin
SelPos :=Pos(FindText, Memo1.Text);
if SelPos>0 then
begin
Memo1.SelStart := SelPos – 1;
Memo1.SelLength := Length (FindText);
end
else
ShowMessage(‘Текст ’ + FindText + ‘ не знайдено’)
end;
end;
