
- •1 Компоненты Delphi
- •1.1 Компонент класса TGroupBox
- •1.2 Компонент класса TRadioButton
- •1.3 Компонент класса TRadioGroup
- •1.4 Компонент класса TCheckBox
- •1.5 Компонент класса TListBox
- •1.6 Компонент класса TForm
- •1.7 Компонент класса TImage
- •1.8 Компонент класса TTimer
- •1.9 Компонент класса TImageList
- •1.10 Компоненты классов TActionList и TAction
- •1.11 Компонент класса TMainMenu
- •1.12 Компоненты классов TToolBar и TToolButton
- •1.13 Компоненты класса TStatusBar и TStatusPanel
- •1.14 Компоненты классов TOpenDialog и TSaveDialog
- •1.15 Компонент класса TTreeView
- •2 Примеры выполнения практических заданий
- •2.1 Стандартные алгоритмы
- •2.2 Элементы выбора
- •2.3 Простейшие классы
- •2.4 Графика
- •2.5 Диалоговые окна
- •2.6 Комплексное задание
- •2.7 Наследование
- •2.8 Древовидные структуры
ShowCaption. Логическое свойство, определяющее, требуется ли отображать на кнопках класса TToolButton подписи из свойства Caption.
Каждая кнопка класса TToolButton обладает свойствами, некоторые из которых приведены ниже:
Action. Определяет действие (класса TAction), связанное кнопкой. Если действие задано, как правило другие свойства кнопки настраивать нет необходимости;
Caption. Определяет строку, которая будет отображаться на кнопке, если задано у компонента класса TToolBar необходимость их отображения;
Enabled. Логическое свойство, определяющее, доступна ли данная кнопка;
ImageIndex. Номер рисунка в списках рисунков класса TImageList у компонента класса TToolBar, к которому принадлежит данная кнопка;
OnClick. Событие, в котором описывается команды, выполняемые при нажатии на кнопку.
1.13 Компоненты класса TStatusBar и TStatusPanel
Компонент класса TStatusBar предназначен для формирования строки состояния окна. Компонент расположен в разделе компонентов Win32 ().
Компонент может состоять из нескольких панелей, в каждой из которых выводится требуемая информация, либо из одной большой панели. Переключение между режимами отображения осуществляется путем изменения свойства SimplePanel: в состоянии False отображаются несколько панелей, в состоянии True – одна большая панель. Текст большой панели задается с помощью свойства SimpleText.
Для формирования списка панелей используется встроенный редактор, вызываемый при двойном щелчке по компоненту. Каждая панель класса TStatusPanel имеет ряд свойств, некоторые из которых приведены ниже:
Alignment. Определяет выравнивание текста внутри панели;
Bevel. Определяет внешний вид панели: выпуклая, вогнутая или плос-
кая;
Text. Задает текст, отображаемый на панели;
Width. Определяет ширину панели. Актуально для всех панелей кроме
последней, т.к. последняя панель занимает все оставшееся место.
Для программного доступа к списку панелей используется свойство Panels с указанием номера требуемой панели (0 – первая панель, 1 – вторая и т.д.), например:
StatusBar1.Panels[2].Text := 'Добавление';
11
1.14 Компоненты классов TOpenDialog и TSaveDialog
Компоненты классов TOpenDialog и TSaveDialog представляют собой стандартные диалоговые окна, предназначенные для обеспечения возможности выбора файлов для загрузки и сохранения, соответственно. Компоненты расположены в разделе компонентов Dialogs (,
).
Компоненты имеют однотипные свойства, некоторые из которых приведены ниже:
DefaultExt. Строка, которая задает расширение файла «по умолчанию», т.е. расширение, которое автоматически подставляется к имени файла, если у него расширение не задано;
FileName. Строка, определяющая имя файла «по умолчанию» (до работы с диалоговым окном) и выбранный пользователем файл (после работы с диалоговым окном);
Filter. Определяет список типов файлов для быстрой фильтрации. Задается с помощью встроенного редактора, вызываемого путем нажатия кнопки (), расположенной рядом с данным свойством в окне «Object Inspector». При редактировании заполняется таблица из двух столбцов: первый столбец определяет строку, которая будет отображаться пользователю, второй
– маску фильтра (например, *.txt). Для каждого фильтра заполняется отдельная строка;
InitialDir. Строка, определяющая начальную папку, содержимое которой будет отображать диалоговое окно;
Options. Набор дополнительных параметров диалогового окна, каждый из которых имеет логический тип;
Title. Строка, задающая заголовок диалогового окна.
Среди дополнительных параметров свойства Options можно выделить:ofOverwritePrompt. Определяет необходимость выдачи дополнитель-
ного окна подтверждения при попытке перезаписать существующий файл;
ofPathMustExist. Определяет необходимость работы только в существующих папках;
ofFileMustExist. Определяет необходимость работы только c существующими файлами.
1.15 Компонент класса TTreeView
Компонент класса TTreeView предназначен для работы с данными, образующими древовидную (иерархическую) структуру. Компонент расположены
в разделе компонентов Win32 ().
При формировании «дерева» компонент использует экземпляры классов TTreeNodes (список элементов дерева) и TTreeNode (элемент дерева).
12
Некоторые свойства (как доступные в момент разработки программы, так и доступные только программным способом), методы и события компонента класса TTreeView приведены ниже:
AutoExpand. Логическое свойство, определяющее необходимость отображения автоматического развертывания выбранной ветки «дерева» и свертывания всех остальных;
Items.Ссвойство класса TTreeNodes, позволяющее формировать структуру дерева. Структура может формироваться программным способом, а также с помощью встроенного редактора, вызываемого путем нажатия кнопки (), расположенной в правой части строки свойства;
Images. Свойство класса TImageList, определяющее список изображений, которые могут отображаться около элементов «дерева»;
ReadOnly. Логическое свойство, задающее возможность пользователю менять текст у элементов «дерева»;
Selected. Определяет или задает выбранный элемент «дерева»;
ShowButtons. Логическое свойство, определяющее необходимость
отображения кнопок свертывания и развертывания веток «дерева»;
ShowLines. Логическое свойство, определяющее необходимость отображения соединительных линий между ветками «дерева»;
StateImages. Свойство класса TImageList, определяющее список изображений, которые дополнительно могут отображаться около элементов «дерева»;
procedure FullCollapse. Метод, сворачивающий все ветви «дерева»;
procedure FullExpand. Метод, разворачивающий все ветви «дерева»;
OnChange. Событие, возникающее при переходе от одного элемента
«дерева» к другому.
Класс TTreeNodes обладает рядом свойств и методов, некоторые из которых приведены ниже:
Count. Свойство, определяющее количество элементов в «дереве»;
Item[Index : integer]. Свойство класса TTreeNode, позволяющее
обратиться к элементу дерева с номером Index (нумерация индексов с нуля);
function Add(Node: TTreeNode; const S: string) : TTreeNode.
Функция, добавляющая новый элемент уровня Node с текстом S и возвращающая ссылку на добавленный элемент;
function AddChild(Node: TTreeNode; const S: string) :
TTreeNode. Функция, добавляющая новый элемент в виде потомка Node с текстом S и возвращающая ссылку на добавленный элемент;
function AddObject(Node: TTreeNode; const S: string; Ptr:
Pointer) : TTreeNode. Функция, добавляющая новый элемент уровня Node с текстом S, связывающая с ним данные Ptr и возвращающая ссылку на добавленный элемент;
function AddChildObject(Node: TTreeNode; const S: string;
Ptr: Pointer) : TTreeNode. Функция, добавляющая новый элемент в виде
13
потомка Node с текстом S, связывающая с ним данные Ptr и возвращающая ссылку на добавленный элемент;
procedure Clear. Метод, удаляющий все элементы «дерева» (но не разрушающий связанные с элементами «дерева» данные).
Класс TTreeNode обладает свойствами и методами, некоторые из которых приведены ниже:
AbsoluteIndex. Свойство, определяющее абсолютный индекс элемента (нумерация с нуля). Если элемент имеет потомков, то абсолютный индекс у него на один меньше, чем у первого потомка ;
Index. Свойство, определяющее индекс элемента в списке потомков его родителя (нумерация с нуля);
ItemID. Уникальный номер элемента (нумерация с нуля);
Count. Свойство, определяющее количество прямых наследников эле-
мента;
Item[Index : integer]. Свойство класса TTreeNode, позволяющее
обратиться к прямому потомкам элемента с номером Index (нумерация индексов с нуля);
Data. Свойство типа Pointer, позволяющее получить доступ к данным, связанным с элементом дерева;
ImageIndex. Свойство, определяющее номер изображения в списке Images «дерева» в случае, если элемент не выбран (значение -1 соответствует отсутствию рисунка);
SelectedIndex. Свойство, определяющее номер изображения в списке Images «дерева» в случае, если элемент выбран (значение -1 соответствует отсутствию рисунка);
StateIndex. Свойство, определяющее номер изображения в списке StateImages «дерева» (значение -1 соответствует отсутствию рисунка);
Level. Свойство, определяющее уровень элемента в «дереве» (нумера-
ция с нуля);
Parent. Свойство класса TTreeNode, позволяющее обратиться родителю элемента;
Selected. Логическое свойство, определяющее выбран элемент или нет;
procedure Delete. Метод, позволяющий удалить элемент со всеми
потомками (но не разрушающий связанные с элементами данные);
procedure DeleteChildren. Метод, позволяющий удалить всех потомков элемента (но не разрушающий связанные с элементами данные);
procedure Collapse(Recurse: Boolean). Метод, позволяющий
свернуть выбранный элемент. Если Recurse имеет значение True, то свернуться и все потомки;
procedure Expand(Recurse: Boolean). Метод, позволяющий раз-
вернуть выбранный элемент. Если Recurse имеет значение True, то будут развернуты и все потомки.
14