Интерфейс Delphi — Значения и описание
Delphi — императивный структурированный объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования — написание прикладного программного обеспечения.
Начинающим Delphi позволяет сразу, с небольшими затратами времени и сил создавать прикладные программы, которые внешне неотличимы от программ, созданных профессионалами. А для опытного программиста Delphi открывает неограниченные возможности для создания сколь угодно сложных программ любого типа, в том числе, распределённых приложений, работающих с любыми базами данных.
В центре одно над другим два окна Delphi, окно формы будущей приложения и окно программного кода. Прямо перед нами — окно, которое в Delphi называется Форма.
Пустые формы нужно наполнять компонентами Delphi. Первые четыре страницы с компонентами являются основными. Этими страницами являются: Standard, Additional, Win32, System
Кстати для тех кто часто использует другие страницы с компонентами существует функция их переноса. Вам нужно лишь нажать и удерживать нужную вам страницу и перенести на удобное вам место или нажмите на нужную вам страницу, выберите пункт «Properties» и в открывшимся меню нажмите на кнопку «Move up» для поднятия на уровень выше или «Move down» для понижение на уровень.
Далее одной из главной панелью является — Объектный инспектор. Он задает свойства составляющие нашу программу.
В будущем чтобы чтобы запустить нашу программу нужно всего лишь нажать на «Запустить»(зеленый треугольник).
Рассмотрим полезные для нас свойства Формы
Action — определяет объект TAction. Это объект служит для быстрой привязки действий к компонентам, в особенности — к пунктам меню и панелям инструментов. Но может быть привязан и к форме. Для управления TAction служат редакторы TActionList со страницы Standard и TActionManager со страницы Additional.
ActiveControl — определяет элемент, который имеет в данный момент фокус ввода. Если выбрать какой-либо объект во время разработки (design-time), то при запуске приложения этот объект и будет иметь фокус ввода. Также свойство может быть полезно и во время выполнения (run-time) — можно узнать, какой объект «держит» фокус в данный момент, а также можно переместить фокус на любой из объектов. Пример: разместим на форме 2 кнопки — Button1 и Button2, а также TTimer (страница System). Выбрав элемент Timer1, дважды щёлкнем в Инспекторе объектов напротив надписи OnTimer на вкладке Events, т.е. создадим обработчик события и напишем следующее: ActiveControl:=Button2; Теперь, запустив программу, каждую секунду фокус будет перемещаться на Button2.
- Align — определяет выравнивание формы на экране. Свойство принимает одно из следующих значений:
- alBottom — по нижнему краю;
- alClient — вся пользовательская (клиентская) область;
- alCustom — выравнивание определяется вызовом методом объекта-родителя;
- alLeft — по левому краю;
- alNone — без выравнивания;
- alRight — по правому краю;
- alTop — по верхнему краю.
AlphaBlend — включает/выключает прозрачность формы.
AlphaBlendValue — задаёт степень непрозрачности формы: 0 — форма полностью невидима, 255 — полностью видима. Прозрачность активируется только при установке свойства AlphaBlend в True.
Anchors — определяет направления, по которым компоненты «привязываются» к форме. Пример: если установить у формы значения akLeft и akRight этого свойства в True, и точно также сделать у кнопки, то при изменении ширины формы размер кнопки (ширина) также будет изменяться.
AutoScroll — включает автоматическое появление полос прокрутки (Scroll bars) на форме, когда размеров формы недостаточно для отображения всех элементов.
AutoSize — включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.
BiDiMode — определяет двунаправленное отображение элемента. В некоторых языках письмо осуществляется не слево-направо, а наоборот. Это свойство создано как раз для этой цели.
BorderIcons — определяет множество кнопок, которые отображаются в заголовке окна:
- biSystemMenu — единственный элемент, который не является кнопкой — отвечает за системное меню окна, которое вызывается комбинацией клавиш [Alt]+[Пробел].
- biMinimize — кнопка сворачивания (минимизации) окна;
- biMaximize — кнопка разворачивания окна;
- biHelp — кнопка справки.
Если хотя бы одна из кнопок сворачивания и разворачивания включена, то независимо от состояния другой, отображаются обе (но вторая естественно неактивна). Если выключены обе, они не отображаются вообще. Это не зависит от Delphi — так устроена ОС Windows.
BorderStyle — определяет поведение границ окна и общий тип окна:
- bsDialog — диалоговое окно (из кнопок — только «Закрыть», иконки в заголовке окна нет);
- bsNone — «чистый лист» (отсутствие у окна границ и заголовка) — применяется обычно для создания заставок во время запуска программы;
- bsSingle — обычное окно, но с запретом изменения размеров;
- bsSizeable — обычное окно (по умолчанию) — размеры формы можно изменять;
- bsSizeToolWin — упрощённое окно с уменьшенным заголовком;
- bsToolWindow — упрощённое окно с уменьшенным заголовком без возможности изменения размеров.
BorderWidth — ширина границы окна в пикселах. Граница является невидимой и расположена в пользовательской части формы.
Caption — текст заголовка формы.
ClientHeight — размер клиентской (пользовательской) части формы, т.е. той, на которой располагаются компоненты.
Color — цвет формы.
Constraints — определяет минимальные и максимальные размеры высоты и ширины формы в пикселах. 0 — любое значение, т.е. без ограничений.
Ctl3D — свойство определяет 3D-вид формы. При выключенном — «плоское» изображение.
Cursor — курсор мыши в тот момент, когда он находится над формой.
DefaultMonitor — определяет, на каком мониторе появится форма. Имеет смысл применять это свойство только при наличии более, чем одного монитора (например, если несколько экранов).
DockSite, DragKing и DragMode — определяют поведение формы при осуществлении операций Drag&Drop.
Enabled — отвечает за общую активность формы. Если установлено в False, форма недоступна.
Font — шрифт, используемый на форме.
FormStyle — стиль формы или её поведение в MDI-приложении (многооконное приложение, где дополнительные формы располагаются «внутри» основной формы). Значения:
- fsNormal — обычная форма (значение по умолчанию);
- fsMDIChild — дочерняя (подчинённая) форма MDI-приложения;
- fsMDIForm — главная форма MDI-приложения;
- fsStayOnTop — форма находится поверх всех окон на экране.
Height — высота формы в пикселах. В отличие от ClientWidth является высотой с учётом заголовка и границ формы.
HelpContext, HelpFile, HelpKeyword, HelpType — свойства для связи формы с файлом справки в формате *.hlp.
Hint — текст всплывающей подсказки.
HorzScrollBar — свойство определяет внешний вид и поведение горизонтальной полосы прокрутки окна.
Icon — значок (иконка) формы. Отображается в заголовке слева от заголовка. Задаётся файлом в формате *.ico.
KeyPreview — если свойство установлено в True, то при нажатии клавиш сначала будут вызываться обработчики формы, а только затем обработчики того компонента, который в данный момент имеет фокус ввода. События, связанные с нажатием клавиш — OnKeyDown(), OnKeyPress(), OnKeyUp().
Left — позиция формы на экране (левого верхнего угла) в пикселах.
Menu — позволяет выбрать один из компонентов-меню, который станет главным меню окна, т.е. будет отображаться вверху.
Name — имя формы как объекта. Может содержать только латинские буквы, цифры и знак подчёркивания, и не может начинаться с цифры. Фактически, это то имя, по которому в программе можно обратиться к форме.
ObjectMenuItem — используется при работе с OLE-объектами и позволяет связать пункт меню и OLE-объект: когда объект выделен, пункт меню активен и наоборот.
OldCreateOrder — определяет, когда происходят события OnCreate() и OnDestroy() формы. Если установлено в False, то OnCreate() произойдёт после вызова всех конструкторов, а OnDestroy() — после вызова всех деструкторов. Начальное значение — False, изменять не рекомендуется.
ParentBiDiMode — изменение свойства BiDiMode согласно значению объекта-предка формы.
ParentFont — изменение шрифта (Font) согласно значению объекта-предка.
PixelsPerInch — пропорции шрифта в системе (точек на дюйм).
PopupMenu — позволяет указать контекстное меню (объект TPopupMenu) для формы. Это меню вызывается нажатием правой кнопки мыши.
Position — определяет начальную позицию формы на экране, т.е. в момент её появления. Основные значения:
- poDesigned — появление в том месте, в каком форма расположена в design-time;
- poDesktopCenter — по центру рабочего стола (рекомендуемое значение);
- poScreenCenter — по центру экрана;
- poMainFormCenter — по центру главной формы приложения (для главной формы не имеет смысла).
PrintScale — определяет размеры формы при выводе её изображения на печать.
Scaled — включает масштабирование формы в соответствии с заданным значением свойства PixelsPerInch.
ScreenSnap — если установлено в True, то форма будет автоматически «прилипать» к краям экрана в момент перемещения.
SnapBuffer — определяет расстояние (в пикселах), на котором форма будет «прилипать» к краю экрана.
ShowHint — включает/выключает показ всплывающей подсказки (Hint).
Tag — специальное свойство, которое есть у всех объектов. Специального применения для этого свойства нет, поэтому оно используется для разных целей в конкретной ситуации. Свойство удобно в том случае, если нужно хранить некоторое целое число — не придётся заводить дополнительную переменную.
Top — позиция формы (левого верхнего угла) на экране в пикселах.
TransparentColor — включает/выключает прозрачность определённого цвета формы.
TransparentColorValue — задаёт цвет, который будет прозрачным.
UseDockManager — используется при реализации Drag&Drop технологии, предоставляя дополнительные возможности этого метода взаимодействия.
VertScrollBar — определяет внешний вид и поведение вертикальной полосы прокрутки окна.
Visible — определяет видимость формы на экране.
Width — ширина окна в пикселах, включая границы.
WindowMenu — свойство-аналог свойства Menu, но используемое при создании MDI-форм.
WindowState — одно из состояний окна:
- wsNormal — обычное состояние (занимает часть экрана);
- wsMinimized — окно свёрнуто;
- wsMaximized — окно развёрнуто на весь экран.
Страница Standart
Изучение Delphi начинается с первой страницы под название — Standart. Здесь представлены стандартные для Windows интерфейсные элементы, которые используются чаще всего.
Пинтограмма | Имя | Назначение |
MainMenu |
Главное меню программы. Компонент способен создавать и обслуживать сложные иерархические меню. | |
PopupMenu | Всплывающее меню. Обычно это меню появляется после нажатия правой кнопкой мыши. | |
Label | Метка. Используется для размещения не очень длинных сообщений в виде статического текста | |
Edit | Строка ввода. Предназначена для ввода пользователем текстовой информации в виде одной строки. Имеет возможности по управлению вводимой информацией, например, переопределению символов до их появления в поле ввода, что используется в формах для ввода пароля. | |
Memo | Многострочный текстовый редактор. Используется для ввода пользователем и отображения многострочного текста без функций форматирования. | |
Button | Командная кнопка. Используется для реализации в программе команд с помощью обработчика события OnClick этого компонента. | |
CheckBox | Независимый переключатель. Используется его свойство Checked (отмечено), имеющее значения true или false, меняющееся при щелчке мышью. | |
RadioButton | Зависимый переключатель. Используется для выбора только одного из нескольких вариантов. Для этого компонент объединяется как минимум с одним или несколькими такими же компонентами в группу. Щелчок по компоненту приводит к его выделению и снятию выделения ранее выбранного компонента. Также имеет свойство Checked. | |
ListBox | Список выбора. Содержит список предлагаемых вариантов (опций) и даёт возможность проконтролировать текущий выбор. | |
ComboBox | «Выпадающий» список выбора. Представляет собой комбинацию компонентов Edit и ListBox. | |
ScrollBar | Полоса прокрутки. Представляет собой вертикальную или горизонтальную полосу, управляющую визуальным представлением компонентов, не помещающихся целиком в окне программы. | |
GroupBox | Контейнер группы компонентов. Используется для группировки нескольких связанных по смыслу компонентов. | |
RadioGroup | Группа зависимых переключателей. Содержит специальные свойства для обслуживания нескольких связанных между собой зависимых переключателей. | |
Panel | Панель. Этот компонент, как и GroupBox, служит для объединения нескольких компонентов. Содержит внутреннюю и внешнюю кромки, что позволяет создавать эффекты «вдавленности» и «выпуклости». | |
ActoinList | Список действий. Служит для централизованной реакции программы на действия пользователя, связанные с выбором одного из группы однотипных управляющих элементов, таких как опции меню, кнопки и т.д. |
Страница Additional
Эта страница предоставляет нам дополнительные компоненты без которых практически невозможно работать в данной программе.
Пентаграмма | Имя | Назначение |
BitBtn | Командная кнопка. Отличается от стандартной кнопки Button возможностью отображения пиктограммы. | |
SpedButton | Пиктографическая кнопка. Обычно используется для быстрого доступа к опциям Главного Меню. | |
StringGrid | Таблица строк. Этот компонент обладает мощными возможностями для представления текстовой информации в табличном виде. | |
DrawGrid | Таблица изображений. Этот компонент используется для представления изображений в табличном виде. | |
Image | Рисунок. Компонент для отображения изображений, в том числе пиктограмм и метафайлов. | |
Shape | Фигура. С помощью этого компонента можно вставить на Форму правильную фигуру — прямоугольник, эллипс, окружность. | |
Bevel | Кромка. Служит для выделения отдельных частей Формы трёхмерными рамками и полосами. | |
ScrollBox | Панель с полосами прокрутки. В отличие от компонента Panel автоматически вставляет полосы прокрутки, если размещённые на нём компоненты отсекаются его границами. | |
CheckListBox | Список множественного выбора. Отличается от стандартного компонента ListBox наличием рядом с каждой опцией независимого переключателя типа CheckBox, облегчающего выбор сразу нескольких опций. | |
Spliter | Граница. Этот компонент создаёт границу между двумя видимыми компонентами и даёт возможность пользователю перемещать её. | |
StaticText | Статический текст. Отличается от стандартного компонента Label наличием собственного Windows-окна, что позволяет обводить текст рамкой или выделять его в виде «вдавленной» части Формы. | |
Chart | Диаграмма. Этот компонент облегчает создание специальных панелей для графического представления данных. |
Страница Win32
Эта страница содержит компоненты, представляющие собой интерфейсные элементы для 32-разрядных операционных систем Windows 95/98/NT.
Пентаграмма | Имя | Назначение |
TabControl | Набор закладок. Каждая закладка представляет собой поле с надписью и/или текстом. Выбор той или иной закладки распознаётся программой и используется для управления содержимым окна компонента. | |
PageControl | Набор панелей с закладками. Каждая панель может содержать свой набор интерфейсных элементов и выбирается щелчком по связанной с ней закладке. | |
Imagelist | Набор рисунков. Представляет собой хранилище для нескольких рисунков одинакового размера, например, пиктограмм для кнопок. | |
RichEdit | Многострочный редактор форматированного текста. В отличие от компонента Memo может изменять такие характеристи текста как шрифт, цвет, выравнивание и т.д. (формат RTF). | |
TrackBar | Регулятор. Используется для управления значениями некоторых величин в программах. Например, с его помощью удобно изменять громкость звучания мультимедийных устройств. | |
ProgressBar | Индикатор процесса. С помощью этого компонента можно отображать ход исполнения достаточно длительного процесса, например, копирование данных. | |
UpDown | Цифровой регулятор. Две кнопки этого компонента служат для увеличения (верхняя) или уменьшения (нижняя) связанной с компонентом числовой величины. Для отображения этой величины умеет ассоциироваться с компонентом Edit. | |
HotKey | Управляющая клавиша. Компонент служит для ввода управляющих кодов, таких как F1, CTRL+Shift и т.д. | |
Animate | Мультипликатор. Предназначен для отображения движущихся изображений (видеоклипов). Имеет ограничение — не может сопровождать видеоклип звуком. Как и компонент ProgressBar, применяется в основном для сопровождения длительных процессов. | |
DataTimePicker | Селектор времени/даты. Этот компонент предназначен для ввода или отображения времени или даты. | |
MonthCalendar | Календарь. Служит для отображения календаря и выбора даты или диапазона дат. | |
ThreeView | Дерево выбора. Представляет собой совокупность связанных в древовидную структуру пиктограмм. Обычно используется для просмотра структуры каталогов и других подобных элементов, связанных иерархическим образом. | |
ListView | Панель пиктограмм. Организует просмотр нескольких пиктограмм и выбор нужной. Компонент способен располагать пиктограммы в вертикальных или горизонтальных рядах и показывать их в крупном или мелком масштабе. | |
HeaderControl | Управляющий заголовок. Представляет собой горизонтальную или вертикальную полосу, разделённую на ряд смежных секций с надписями. Размеры секций можно менять на этапе работы программы. Обычно используется для изменения размеров столбцов или строк в разного рода таблицах. | |
StatusBar | Панель статуса. Предназначена для размещения разного рода служебной информации в окнах редактирования. Пример — нижняя часть рамки окна текстового редактора Word. | |
ToolBar | Инструментальная панель. Этот компонент служит контейнером для командных кнопок BitBtn и и способен автоматически изменять свои размеры и положение при добавлении или удалении кнопок. | |
CoolBar | Инструментальная панель. В отличие от ToolBar, используется как конейнер для размещения стандартных интерфейсных компонентов Windows, таких как Edit, ListBox, ComboBox и т.д. | |
PageScroller | Прокручиваемая панель. Служит для размещения узких инструментальных панелей. При необходимости автоматически создаёт по краям панели стрелки прокрутки. |
Страница System
В этой странице находятся компоненты, которые имеют различное функциональное назначение. А также поддерживающие стандартные для Windows технологии межпрограммного обмена данными OLE и DDE.
Пентаграмма | Имя | Назначение |
Timer | Таймер. Этот компонент служит для отсчёта интервалов реального времени. Имеет ограничение — не может обрабатывать интервалы менее 55 миллисекунд. | |
PaintBox | Окно для рисования. Создаёт прямоугольную область, предназначенную для прорисовки графических изображений. | |
MediaPlayer | Мультимедийный проигрыватель. С помощью этого компонента можно управлять различными мультимедийными устройствами. | |
OleContrainer | OLE-контейнер. Служит приёмником связываемых или внедряемых объектов. | |
DDEClientConv | DDE-связь. Совместно с DDEClientItem используется для создания клиентской программы в DDE-связи. | |
DDEClientItem | DDE-тема. Определяет тему DDE-связи в клиентском приложении. | |
DDEServerConv | DDE-связь. Совместно с DDEServerItem используется для создания серверной программы в DDE-связи. | |
DDEServerItem | DDE-тема. Определяет тему DDE-связи в серверном приложении. |
Сохранение проекта и его компонентов
По умолчанию Delphi сохраняет новые проекты в папке C:\Program Files\Borland\Delphi7\Projects. Поэтому если вы свои проекты не будете сохранять в специально отведенные папки то у вас образуется куча перемешанных файлов разобраться в которых будет затруднительно. Значит командой меню File -» Save All (или соответствующей кнопкой на главном окне) сохраним проект в специально для него созданную папку. Проект в целом сохраняется в файле с именем Project1. Форма функционирует вместе с программой, описывающей её работу, так называемым модулем. Если модулей в проекте несколько, для каждого из них Delphi создаст отдельный файл, и предложит его сохранить под именем Unit1, Unit2 и т.д. Важно: если открыть файл модуля, а не файл проекта то вы сможете продолжать работать и вносить изменения, но вы не сможете запустить свою программу так как кнопка «Запуск» будет неактивна!