3.1 Основные элементы управленияЭлементами управления называются объекты, которые используются для отображения данных или организации взаимодействия между пользователем и приложением с помощью мыши или клавиатуры. Они собраны в специальные библиотеки компонентов, которые ОС использует для обеспечения единообразного интерфейса Для элементов управления используется и другое название — виджеты. Слово употребляется примерно с 1920-х гг. в американском английскомприкладных программ. Наиболее распространенными элементами управления являются: кнопки, редактируемые поля, списки выбора, флажки, переключатели и т. д. Компоненты библиотеки размещаются на различных страницах палитры компонентов. Каждая страница имеет свое название. На странице Стандартные элементы управления (пример 3.1) размещены наиболее употребляемые компоненты:
Внешний вид этих компонентов на форме был представлен в примере 1.4. Другие страницы палитры компонентов показаны в примерах 3.2 и 3.3. Одним из наиболее используемых компонентов палитры Компоненты является компонент Таймер (Timer). Палитра Меню и панели инструментов содержит компоненты, необходимые для создания главного меню программы или контекстных меню для различных объектов, помещенных на форму. Палитры Печать и Диалоговые окна содержат компоненты, обеспечивающие стандартные диалоги операционной системы: открытие и сохранение файла, выбор цвета, установки параметров шрифта, настройки принтера и управление печатью. Палитра Данные содержит компоненты для работы с таблицами баз данных. 3.2. Элемент управления кнопка (Button)Компонент кнопка относится к элементам управления. На панели компонентов Стандартные элементы управления кнопка изображена в виде , имя объекта — button. Кнопка, помещенная на форму, получает имя buttonN, где N — номер 1, 2, 3… (пример 3.4). При необходимости кнопку можно переместить в любое место формы. Ключевые точки позволят установить нужный размер кнопки.
Некоторые свойства кнопки перечислены в таблице (пример 3.5). Как видно из таблицы, многие свойства кнопки совпадают по именам и назначениям со свойствами формы, поэтому в дальнейшем для компонентов будут указываться только те свойства, которые отличны от уже описанных для других компонентов. Основным событием кнопки является Click. Для создания обработчика события Click для кнопки можно поступить так же, как и при создании аналогичного обработчика для формы: выбрать событие на вкладке События () и выполнить двойной щелчок в
поле напротив события Click. Можно просто выполнить двойной щелчок по кнопке. (Для формы основным событием является событие Load, поэтому при двойном щелчке по форме создается обработчик события Load.) Пример 3.6. Создать проект, разместив на форме две кнопки. При нажатии на одну из них цвет формы должен измениться на синий, а при нажатии на вторую — должен восстановиться исходный цвет. Этапы выполнения задания
BackColor := Color.Blue;
Название цвета SystemColors. Control задает не какой-то определенный цвет. Это цвет элемента управления, заданный цветовой схемой Windows. Поэтому он не обязательно будет серым. 3.3. Элемент управления метка (Label)Компонент метка предназначен для отображения текста на форме. На панели компонентов Стандартные элементы управления метка изображена в виде , имя объекта — label. Кнопка, помещенная на форму, получает имя labelN, где N — номер 1, 2, 3… (пример 3.7). Некоторые свойства метки, отличные от свойств кнопки, перечислены в таблице (пример 3.8). Основным событием для метки является Click. Пример 3.9. Создать проект, в котором описана возможность выполнять следующие действия: после запуска программы в окне с именем «Работаем с кнопкой и меткой» при щелчке мыши по кнопке «Приветствие» появляется сообщение «Здравствуй, мир!». Этапы выполнения задания
label1.Text := ‘Здравствуй, мир!‘; 3.4. Элемент управления текстовое поле (Edit) Текстовое поле — компонент, который предназначен для ввода и вывода текстовой информации. На панели компонентов Стандартные элементы управления текстовое поле изображено в виде , имя объекта — TextBox.
получает имя TextBoxN, где N — номер 1, 2, 3… (пример 3.10). В отличие от ранее рассмотренных компонентов, свойство Text у текстового поля по умолчанию пусто (у других — совпадает с именем компонента). Некоторые свойства компонента TextBox приведены в таблице (пример 3.11). Значение свойства Text компонента текстовое поле может изменяться программно или при вводе с клавиатуры. Основным событием для TextBox является TextChanged, которое происходит при изменении компонента. Наиболее часто программируют событие KeyPress, которое позволяет определить, какая клавиша была нажата. Пример 3.12. Создать проект, в котором пользователя попросят ввести его имя, а затем, после нажатия клавиши Enter, будет выдано сообщение «Имя, приятно с Вами познакомиться!» Этапы выполнения задания
5. Написать обработчик события KeyPress для компонента Edit1, который будет проверять нажатие клавиши ввода (код клавиши Enter — 13). Если клавиша нажата, то поменять свойство Text у label2: if e.KeyChar = #13 then label2.Text := TextBoxl.Text +‘, приятно с Вами познакомиться!‘; Текстовое поле TextBox используется также для ввода и вывода чисел. При этом необходимо использовать функции для преобразования строк в числа и чисел в строки. Эти функции приведены в таблице:
В русскоязычной версии Windows в качестве разделителя целой и дробной части числа по умолчанию используется запятая. Если при вводе чисел в текстовые поля использовать точку, то будет возникать ошибка преобразования типов. Пример 3.13. Создать проект, в котором пользователь сможет ввести число, получить его значение в квадрате и квадратный корень из этого числа. Этапы выполнения задания
3.5*. Элементы управления флажок (CheckBox) и переключатель (RadioButton) Флажок используется в приложениях для включения или выключения каких-либо опций. На панели компонентов Стандартные элементы управления флажок изображен в виде , имя объекта — CheckBox. Флажок, помещенный на форму, получает имя checkBoxN, где N — номер 1, 2, 3… (пример 3.14). Некоторые свойства компонента checkBox приведены в таблице (пример 3.15).
Аналогичным образом используется компонент Переключатель (радиокнопка). На панели компонентов Standard радиокнопка изображена в виде , имя объекта — RadioButton. Переключатель, помещенный на форму, получает имя radioButtonN, где N — номер 1, 2, 3… (пример 3.14).
Обычно радиокнопки образуют группы взаимосвязанных индикаторов, позволяющих выбрать только одну из нескольких взаимоисключающих альтернатив. При размещении на форме нескольких переключателей включенным должен быть только один из них (контейнер GroupBox). Пример 3.16. Создать проект для вычисления частного от деления одного целого числа на другое. Числа задаются в текстовых полях. Результат вычисляется при нажатии на кнопку «Частное» и помещается в третье текстовое поле. Результат зависит от состояния флажка. Этапы выполнения задания
|
Для элементов управления используется и другое название — виджеты. Слово употребляется примерно с 1920-х гг. Для элементов управления используется и другое название — виджеты. Слово употребляется примерно с 1920-х гг. в американском английском для обозначения простой, но необходимой вещи, маленького изделия. Одним из вариантов происхождения этого слова считается словослияние «window gadget» (букв. «оконное приспособление»), также произошедшее в начале XX в. Пример 3.1. Палитра Стандартные элементы управления:
Пример 3.2. Палитра Компоненты:
Пример 3.3. Палитра Диалоговые окна:
Пример 3.4. Компонент кнопка на форме:
Пример 3.5. Свойства кнопки:
Пример 3.6. Внешний вид формы в режиме конструктора дизайна:
Внешний вид формы при выполнении:
Свойство кнопки BackColor позволяет менять ее цвет. Для обращения к этому свойству в программе используют запись: button1.BackColor. Свойство кнопки BackgroundImage позволяет вставить на кнопку изображение, хранящееся в графическом файле. Для вставки можно использовать кнопку . Далее выбрать файл с рисунком.
Пример 3.7. Компонент метка на форме:
Пример 3.8. Свойства метки:
Пример 3.9. Форма на этапе конструирования:
Работающее приложение: Пример 3.10. Компонент текстовое поле на форме:
Текстовое поле часто называют текстовым редактором, поскольку оно снабжено такими функциями, как:
Свойство Multiline определяет, каким будет редактор — однострочным или многострочным. Пример 3.12. Форма на этапе конструирования: Работающее приложение: Пример 3.13. Форма на этапе конструирования:
Обработчик события OnCkick для Button1:
Работающее приложение: Пример 3.14. Компоненты флажок и радиокнопка на форме:
Пример 3.15. Свойства компонента флажок:
Пример 3.16. Форма на этапе конструирования:
Обработчик события OnCkick для Button1:
Работающее приложение:
|
1. Какие компоненты относят к элементам управления?
2. Как поместить компонент на форму?
3. Какие свойства компонента button вы можете назвать?
4. Какое событие является основным для компонента button?
5. Для чего предназначен компонент label?
6. В каких случаях используется компонент TextBox?
7. Для чего предназначены компоненты checkBox и radioButton?
Упражнения
1. Откройте проект из примера 3.9 и дополните его кнопкой «Очистить» . Кнопка
«Очистить» должна очищать текст метки (Свойству Caption присвоить значение пу-стой строки: Сделайте случайным выбор цвета и размера шрифта у метки.
2. Откройте проект из примера 3.12 и добавьте на форму три метки и две кнопки.
1. Измените свойства компонентов в соответствии с указаниями в таблице.
Компонент | Свойство | Значение свойства |
buttonl | Text | Да |
buttonl | Visible | False |
button2 | Text | Нет |
button2 | Visible | False |
label3 | Text | Вы хотите работать в ИТ? |
label3 | Visible | False |
label4 | Text | Замечательно! Успехов в изучении информатики! Она Вам понадобится! |
label4 | Visible | False |
label5 | Text | Другие профессии тоже требуют знания информатики |
label5 | Visible | False |
2. Добавьте в обработчик события KeyPress команду, которая делает надпись Label3 и кнопки видимыми.
procedure Form1.textBox1_KeyPress(sender: Object; e: KeyPressEventArgs);
begin
if e.KeyChar = #13 then
begin
label2.Text := TextBox1.Text + ‘, приятно с Вами познакомиться!‘;
Label3.Visible := True;
Button1.Visible := True;
Button2 .Visible := True;
end;
end;
3. Напишите обработчики Click для кнопок Button1 и Button2. Сделайте видимыми соответствующие надписи.
Форма на этапе проектирования | Работающее приложение после запуска |
Работающее приложение до ответа на вопрос | Работающее приложение после ответа на вопрос |
4*. Добавьте в приложение еще один вопрос. Форму ответа выберите самостоятельно.
3. Создайте проект Калькулятор. Разместите на форме три поля TextBox и три надписи: «Первое число», «Второе число», «Результат». Добавить кнопки для вычисления суммы, разности, произведения и частного. Запретите редактирование в поле с ответом. Добавьте проверку деления на нуль.
Форма на этапе проектирования | Работающее приложение после запуска |
4. Создайте проект, в котором вычисляется доход по вкладу. Программа должна обеспечивать расчет денежных сумм для простых или капитализированных вкладов. Если вклад простой, то процентная ставка начисляется от исходной суммы, и каждый месяц она одинаковая, а если капитализированный, то процентная ставка начисляется каждый месяц от суммы вклада в предыдущем месяце.
Форма на этапе проектирования | Работающее приложение после запуска |
Проверьте, заполнены ли поля с исходными данными. Если нет, то выведите соответствующее сообщение.
5. Реализовать «убегающую кнопку», т. е. при наведении указателя мыши на кнопку она должна случайным образом поменять место.
6. Добавить в упражнение 5 кнопку «Домой», которая должна передвинуть «убегающую» в верхний левый угол формы.