- •1.Текстовые компоненты Label, Edit, Memo. Кнопка Button
- •Пример 1.1. Задание - Составить программу, вычисляющую корни квадратного уравнения
- •2. Классы и компоненты Delphi,
- •Interface
- •Interface
- •Interface
- •3. Панель переключателей RadioGroup
- •Interface
- •4. Списки: ListBox и ComboBox
- •Interface
- •Interface
- •5. Таблица StringGrid
- •Полный текст модуля Unit1.Pas
- •Interface
- •6. Создание меню. Компоненты MainMenu и PopupMenu
- •Interface
- •Interface
- •7. Диалоговые окна.
- •Interface
3. Панель переключателей RadioGroup
и список выключателей CheckListBox
Создадим приложение, позволяющее менять характеристики текста, набранного в строке ввода Edit.
Решение
Для изменения начертания, размера и цвета шрифта будем использовать панели переключателей, а для изменения атрибутов шрифта (зачеркнутый, подчеркнутый) будем использовать список выключателей.
Создадим новую папку, например D:\MyProject\RadioCheck.
Откроем новое приложение с помощью команды главного меню File | New | Application.
На форме Form1 разместим компоненты: два компонента Label, три компонента RadioGroup, компонент CheckListBox. Компонент CheckListBox1 берем со страницы Additional Палитры Компонентов, остальные - со страницы Standard.
Свойствам Caption компонентов RadioGroup1, RadioGroup2 и RadioGroup3 зададим значения ‘Начертание’, ‘Размер’ и ‘Цвет’ соответственно.
Войдем в свойство Items для каждого указанного выше компонента и щелкнем по кнопке с тремя точками. В появившемся окне StringList editor следует ввести имена переключателей. Для каждого переключателя выделяется одна строка.
Для компонента RadioGroup1 введем следующие строки:
обычный
курсив
полужирный
полужирный курсив
Для компонента RadioGroup2 :
8
10
12
14
Для компонента RadioGroup3:
черный
зеленый
красный
синий
После завершения ввода нажимаем кнопку ОК.
Для всех трех рассматриваемых компонентов установим свойство ItemIndex равным 0. Это означает, что в начале работы программы выделенным переключателем будет первый.
Для меток Label1 и Label2 свойство Caption установим равным ‘Атрибуты’ и ‘Образец’ соответственно.
Для компонента CheckListBox1 выберем свойство Items и введем названия выключателей:
Зачеркнутый
Подчеркнутый
9. Для компонента Edit1 установим свойство Text равным: ‘АаВвБбФф’.
10. Перейдем к написанию обработчиков событий. Выполним двойной щелчок на компоненте RadioGroup1. В появившемся окне Редактора Кода введем операторы для обработчика события OnClick, которое возникает при выделении нового переключателя на панели:
case RadioGroup1.ItemIndex of
0: Edit1.Font.Style := [ ];
1: Edit1.Font.Style := [fsltalic];
2: Edit1.Font.Style := [fsBold];
3: Edit1.Font.Style := [fsltalic,fsBold];
end;
CheckListBox1ClickCheck(Self);
Вызов обработчика CheckListBox1ClickCheck, который будет создан чуть позже, позволит нам учесть характеристики стиля шрифта, задаваемые при помощи списка выключателей CheckListBox1.
11. Для компонента RadioGroup2 введем следующие операторы в обработчик события
OnClick:
case RadioGroup2.ItemIndex of
0: Edit1.Font.Size := 8;
1: Edit1.Font.Size := 10;
2: Edit1.Font.Size := 12;
3: Edit1.Font.Size := 14;
end
12. Для компонента RadioGroup3 введем такие операторы в обработчик события
OnClick:
case RadioGroup3.ItemIndex of
0: Edit1.Font.Color := clBlack;
1: Edit1.Font.Color := clGreen;
2: Edit1.Font.Color := clRed;
3: Edit1.Font.Color := clBlue; end
13. Для компонента CheckListBox1 напишем обработчик события OnClickCheck, которое возникает, когда изменяется состояние какого-либо выключателя:
if CheckListBoxl.Checked[0]
then Edit1.Font.Style := Edit1.Font.Style + [fsStrikeOut]
else Edit1.Font.Style := Edit1.Font.Style - [fsStrikeOut];
if CheckListBox1.Checked[ 1 ]
then Edit1.Font.Style := Edit1.Font.Style + [fsUnderline]
else Edit1.Font.Style := Edit1.Font.Style -[fsUnderline];
14. Сохраним приложение, выполнив команду главного меню File|Save All. Запустим приложение на выполнение с помощью команды Run|Run.
Выделяя различные переключатели или задавая тот или иной выключатель, будем изменять характеристики текста в строке ввода.
Полный текст сформированного модуля.
Текст модуля Unit1.pas
unit Unit1;