9. Додати на Panel1 елементи керування, необхідні для вибору параметрів шрифту а порядку, наведеному в табл.3.
Таблиця 3. Елементи керування шрифтом
Тип компоненту
Назва (Name)
Надпис
Розташування(Left, Top)
Розміри(Width, Height)
Label
Label1
Розмір шрифта
0,5
84,13
ComboBox
cbFontSize
96,1
49,21
SpeedButton
sbBold
B
152,1
20,20
SpeedButton
sbItalic
I
176,1
20,20
SpeedButton
sbUnderlined
U
200,1
20,20
SpeedButton
sbStrikeOut
S
224,1
20,20
Label
Label2
Колір
256,1
28,13
ColorBox
clbColor
290,0
95,22
SpeedButton
sbLeftAlign
<
392,1
20,20
SpeedButton
sbCenterAlign
-
416,1
20,20
SpeedButton
sbRightAlign
>
440,1
20,20
Для підвищення інформативності кнопок атрибутів шрифту їх надписам слід встановити ті ж самі атрибути.
10. Кнопки керування атрибутами шрифту повинні мати можливість фіксації в натиснутому стані, причому незалежно одна від одної. Для забезпечення такої можливості слід властивостям GroupIndex цих компонентів різні, відмінні від 0 значення: 1, 2, 3 та 4. Таким чином, з чотирьох кнопок SpeedButtonорганізовані чотири групи залежних компонентів. Для того, щоб кнопки можна було перевести в стан "не натиснуто", слід встановити в усіх цих компонентах значення True властивостям AllowAllUp.
11. Компонент ComboBox з назвою cbFontSize повинен містити список розмірів шрифту, які найчастіше використовуються. Для цього слід змінити вміст його властивості Items, ввести наступні рядки: 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72. Початковий розмір шрифту можна встановити за допомогою властивості ItemIndex. Якщо даній властивості надати значення 2, то в рядку введення буде відображатися число 10.
12. Настройка компоненту вибору кольору clbColor полягає в установленні наборів кольорів, що використовуються, з використанням властивості Style в Інспекторі об’єктів. Слід обрати всі елементи даної множини, крім cbSystemColors, оскільки даний набір кольорів використовується здебільшого для роботи з системою, а не з текстовими документами.
13. Кнопки керування вирівнюванням шрифту залежні одна від одної. В кожний момент часу одна з них повинна бути в натиснутому стані, оскільки абзац завжди має яке-небудь вирівнювання. Для організації такої поведінки для всіх трьох кнопок слід встановити властивості GroupIndexзначення 5, а властивості AllowAllUpзначення False. Зауваження. Вирівнювання по ширині не підтримується компонентом RichEdit.
14. Для надання кнопкам SpeedButton, розташованим на Panel1, плаского виду слід встановити значення True їх властивостям Flat.
Наповнення панелі Numbering
Для надання необхідного зовнішнього вигляду та відповідної поведінки панелі Numberingслід встановити значення властивостей компоненту sbNumberingтаким чином, як показано в табл.4.
Таблиця 4. Значення властивостей компоненту sbNumbering
Властивість
Значення
Caption
1,2,3…
Flat
True
GroupIndex
6
AllowAllUp
True
В результаті такої настройки властивостей кнопка sbNumbering буде мати можливість фіксації в натиснутому стані (властивість GroupIndexдодатна) та не натиснутому стані (властивість AllowAllUpмає значення True).
Наповнення панелі Undo/Redo
15. Додати на панель Panel2 два компоненти SpeedButtonз характеристиками, наведеними в табл.5.
Таблиця 5. Характеристики компонентів відміни виконаного редагування
Назва(Name)
Розташування(Left, Top)
Розміри(Width, Height)
Надпис(Caption)
Стиль(Flat)
sbUndo
0,1
49,20
Undo
True
sbRedo
56,1
49,20
Redo
True
Наповнення панелі керування відступами
16. Розташувати рівномірно на Panel3 три компоненти LabeledEdit, встановивши їх властивостям LabelPosition значення lpLeft та надписи з використанням підпорядкованої властивості Caption властивості EditLabel: "Відступ зліва", "Відступ справа" та "Перший рядок". Змінити назви компонентів (зліва направо) на eLeftIdent,eRightIdent та eFirstIdent.
17. Для забезпечення зручності роботи з числовими значеннями додати на Panel3 три компоненти UpDown, співставивши кожний з них з однією з рядків введення з використанням властивості Associate (обрати зі списку в Інспекторі об’єктів). Під час призначення асоційованого рядку введення компонент автоматично розташовується біля його правого бору та приймає відповідні розміри.
18. Діапазон значень, які змінюються компонентом UpDown, за замовчуванням обмежений числами 0 та 100, а в текстовому редакторі не повинно бути обмежень на відступи абзаців. Відмінити обмеження компоненту UpDown неможливо, однак можна їх суттєво пом’якшити. Для цього слід змінити значення властивостей Min та Max компоненту UpDown. Оскільки дані властивості мають тип SmallInt, то властивості Minможна надати значення -32768, а властивості Max– 32767. Зміна назв компонентів UpDown можлива, але не обов’язкова, оскільки ці компоненти не використовуються в тексті програми.
19. На завершення формування панелі інструментів слід очистити властивості Caption панелей Panel1, Panel2, Panel3.