Форма и основные управляющие элементы
| Файлы, входящие в проект, отображаются в Менеджере проекта. Чтобы открыть это окно редактора или перейти в него, надо выбрать пункт меню View – Project Manager. С помощью Менеджера проекта можно осуществлять переходы между формами и файлами, когда их много. Для только что созданного проекта отображаются файл с расширением pas и «подчинённый» ему файл с расширением dfm. Файл с расширением dpr (основной файл программы) можно увидеть, если нажать на имя проекта (exe) правой кнопкой мыши и в появившемся меню выбрать пункт View Source. В проект можно добавлять другие формы (File – New – ‘Form – Delphi for Win32’) или модули, не связанные с какой-либо формой (File – New – ‘Unit – Delphi for Win32’). Все изменения будут отражены в Менеджере проекта. С его же помощью можно при необходимости удалить файлы из проекта. |
| Ещё одним важным элементом редактора является Инспектор объектов. Чтобы открыть это окно редактора или перейти в него, надо выбрать пункт меню View – Object Inspector. В верхней части Инспектора объектов находится выпадающий список с именами элементов формы, начиная с самой формы. С помощью этого списка можно выбрать элемент для редактирования. Впрочем, это проще сделать, щёлкнув мышью на нужном элементе (для выбора формы нужно щёлкнуть мышью на свободном месте формы). Ниже расположены две вкладки – Properties и Events. Вкладка Properties представляет собой таблицу Свойство – Значение и позволяет редактировать свойства элементов формы. Вкладка Events представляет собой таблицу Событие – Процедура. В левом столбце перечислены названия событий, сообщения о которых могут быть получены и обработаны этим элементом, а в правом – имена процедур-обработчиков событий. Изначально правый столбец пуст. Если дважды щёлкнуть мышью на ячейке правого столбца, будет создана процедура для обработки соответствующего события со стандартным именем. Можно ввести в ячейку собственное имя для обработчика события, но особого смысла в этом нет. |
| Окно Structure отображает иерархию исходного кода или управляющих элементов, расположенных на форме. Чтобы открыть это окно редактора или перейти в него, надо выбрать пункт меню View – Structure. Это окно можно использовать для перехода к объявлению переменной или подпрограммы, к элементу формы или связанному с ним обработчику события. |
| Форма соответствует главному окну приложения. На ней располагаются все управляющие элементы, необходимые в приложении. |
Свойство | Описание |
---|
BorderIcons | Позволяет включать/выключать отображение кнопок минимизации, разворачивания, закрытия приложения, включать/выключать системное меню. |
BorderStyle | Вид и поведение рамки формы. |
Caption | Заголовок формы. |
Constraints | Минимальные и максимальные размеры формы. |
Height, Width | Высота и ширина формы. |
Icon | Позволяет выбрать файл с иконкой для формы. |
Menu | Меню формы. |
Name | Имя формы. |
Position | Местоположение формы. |
WindowState | Исходное состояние окна приложение – нормальное, свёрнутое, развёрнутое. |
Событие | Описание |
---|
OnClick | Щелчок левой кнопкой мыши. |
OnClose | Закрытие формы. |
OnCreate | Создание формы. |
OnDblClick | Двойной щелчок левой кнопкой мыши. |
OnKeyDown, OnKeyPress, OnKeyUp | События клавиатуры. |
OnMouseDown | Нажатие кнопки мыши. |
OnMouseUp | Отпускание кнопки мыши. |
OnResize | Изменение размера формы. |
| Управляющие элементы создаются с помощью палитры инструментов. Чтобы открыть это окно редактора или перейти в него, надо выбрать пункт меню View – Tool Palette. Палитра содержит несколько панелей, группирующих доступные элементы. |
Есть несколько свойств, которые актуальны для любого управляющего элемента.
Свойство | Описание |
---|
Name | Имя элемента. Как любое уважающее себя имя должно отражать смысл элемента. |
Enabled | Определяет активность элемента. Если это свойство имеет значение false, то элемент неактивен – он становится «тусклым» и не реагирует на сообщения от мыши, клавиатуры и таймера. |
Visible | Определяет видимость элемента. Если это свойство имеет значение false, то элемент становится невидимым. |
Hint | Содержит текст, который появляется, когда пользователь наводит мышь на элемент. |
ShowHint | Необходимо установить для этого свойства значение true, чтобы выводился текст свойства Hint. |
Также все элементы имеют высоту и ширину, и для всех элементов задаётся позиция на форме. Однако эти свойства обычно редактируются не с помощью Инспектора объектов, а с помощью мыши. При перемещении элемента и изменении его размера редактор формы показывает направляющие, которые позволяют выравнивать элементы.
При двойном щелчке мышью по элементу в режиме редактирования создаётся и/или открывается процедура для обработки события «по умолчанию» для этого элемента.
Свойства элементов могут быть изменены как при создании формы, так и в ходе работы программы. Кроме того, существуют свойства, недоступные при разработке приложения, но доступные во время работы приложения.
3.1. Метка
| Одним из самых простых элементов является метка – элемент TLabel панели Standard. Этот элемент позволяет отобразить текст на форме. |
Свойство | Описание |
---|
Caption | Отображаемый текст. |
Font | Шрифт для отображения текста. |
3.2. Текстовое поле
| Текстовое поле – элемент TEdit панели Standard – позволяет пользователю вводить текст. |
Свойство | Описание |
---|
CharCase | Позволяет задать ввод только прописных или строчных букв. |
Font | Шрифт для отображения текста. |
MaxLength | Максимальное количество символов, которые может ввести пользователь. |
Text | Текст элемента. При создании формы необходимо задать начальное значение или оставить свойство пустым. |
Событие | Описание |
---|
OnChange | Происходит при изменении свойства Text |
OnExit | Происходит, когда элемент теряет фокус. |
Обратите внимание на то, что свойство Text являет строковым. При необходимости ввести число, необходимо строку преобразовать в число с помощью функции StrToInt или StrToFloat. При необходимости вывести число в текстовое поле, необходимо число преобразовать в строку с помощью функции IntToStr или FloatToStr.
3.3. Кнопка
| Кнопки – элемент TButton панели Standard – используются для инициализации пользователем каких-либо действий. |
Свойство | Описание |
---|
Cancel | Если свойство имеет значение true, действие, связанное с кнопкой выполняется при нажатии клавиши Esc. |
Caption | Надпись на кнопке. |
Default | Если свойство имеет значение true, действие, связанное с кнопкой выполняется при нажатии клавиши Enter. |
Font | Шрифт для отображения надписи на кнопке. |
Событие | Описание |
---|
OnClick | Нажатие мышью на кнопку. |
3.4. Кнопка-флажок
| Кнопка-флажок – элемент TCheckBox панели Standard – позволяет пользователю делать выбор из двух возможностей. |
Свойство | Описание |
---|
Caption | Надпись. |
Checked | Если свойство имеет значение true, то элемент отмечен галочкой. |
State | Исходное состояние элемента – отмечен, не отмечен, деактивирован. |
3.5. Переключатель
| Переключатель – элемент TRadioGroup панели Standard – позволяет пользователю выбирать одну и только одну из нескольких возможностей. |
Свойство | Описание |
---|
Caption | Заголовок группы. |
Columns | Позволяет разместить элементы переключателя в несколько колонок. |
ItemIndex | Указывает, какой элемент переключателя выбран при запуске приложения. Номера элементов начинаются с 0. По умолчанию это свойство имеет значение -1, что означает, что не выбран никакой элемент. |
Items | Задаёт элементы переключателя. |
Событие | Описание |
---|
OnClick | Выбор одного из элементов переключателя. |
3.6. Выпадающий список
| Выпадающий список – элемент TComboBox панели Standard – позволяет пользователю выбрать одну из нескольких возможностей или ввести свой вариант. |
Свойство | Описание |
---|
CharCase | Позволяет задать ввод только прописных или строчных букв. |
ItemIndex | Указывает, какой элемент выпадающего списка выбран при запуске приложения. Номера элементов начинаются с 0. По умолчанию это свойство имеет значение -1, что означает, что не выбран никакой элемент. |
Items | Задаёт элементы выпадающего списка. |
MaxLength | Максимальное количество символов, которые может ввести пользователь. |
Sorted | Определяет сортировку элементов выпадающего списка. |
Style | Тип выпадающего списка: csSimple – текстовое поле с невыпадающим списком вариантов, csDropDown – текстовое поле с выпадающим списком вариантов, csDropDownList – выпадающий список без текстового поля. |
Text | Введённый пользователем текст. |
Событие | Описание |
---|
OnChange | Выбор одного из элементов выпадающего списка или ввод нового варианта. |
OnCloseUp | «Закрытие» выпадающего списка. |
OnDropDown | «Выпадение» списка. |
3.7. Групповой блок
| Групповой блок – элемент TGroupBox панели Standard – позволяет объединить несколько элементов в группу. |
Свойство | Описание |
---|
Caption | Заголовок группового блока. |
3.8. Таблица
| Таблица – элемент TStringGrid панели Additional – позволяет представлять текстовые данные в табличной форме. |
Свойство | Описание |
---|
ColCount | Количество столбцов таблицы. |
DefaultColWidth | Ширина столбца по умолчанию. |
DefaultRowHeigth | Высота строки по умолчанию. |
FixedCols | Количество зафиксированных столбцов – входит в общее количество столбцов. |
FixedRows | Количество зафиксированных строк – входит в общее количество строк. |
Options | Позволяют задавать такие свойства таблицы как наличие/отсутствие разделяющих линий, возможность изменять ширину столбцов и высоту строк, возможность менять порядок строк и столбцов. При необходимости не только выводить данные, но и вводить их, обязательно надо установить значение true в свойство goEditing и желательно установить значение true в свойства goTabs и goAlwaysShowEditor. |
RowCount | Количество строк таблицы. |
ScrollBars | Задаёт наличие полос прокрутки у таблицы. |
Номера строк и столбцов таблицы начинаются с 0. Свойство Cells, позволяющее получить доступ к ячейкам таблицы, требует наличия в квадратных скобка двух индексов, причём, сначала идёт номер столбца, а затем – номер строки.
3.9. Прокрутка
| Элемент прокрутки – элемент TUpDown панели Win32 – позволяет изменять значение в текстовом поле с помощью стрелок элемента прокрутки. |
Свойство | Описание |
---|
Associate | Задаёт элемент, к которому присоединяется элемент прокрутки. |
Increment | Задаёт значение, на которое изменяется значение, хранимое элементом прокрутки, при нажатии стрелок. |
Max | Максимум значения, хранимого элементом прокрутки. |
Min | Минимум значения, хранимого элементом прокрутки. |
Orientation | Ориентация элемента прокрутки – вертикальная или горизонтальная. |
Position | Значение, хранимое элементом прокрутки. |
Нажатие клавиши Tab приводит к передаче фокуса от одного элемента формы к другому. Порядок этой передачи определяется так называемым порядком обхода. Все управляющие элементы имеют свойства TabOrder и TabStop. Свойство TabStop определяет, будет ли передаваться этому элементу фокус при нажатии клавиши Tab. Свойство TabOrder определяет позицию управляющего элемента в порядке обхода. Изначально порядок обхода соответствует порядку создания элементов формы. При необходимости изменить порядок обхода можно отредактировать свойство TabOrder элементов формы или воспользоваться редактором порядка обхода. Для вызова этого редактора необходимо щёлкнуть на форме правой кнопкой мыши и из появившегося контекстного меню выбрать пункт Tab Order…