Компонент TListView – список просмотра 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Компонент TListView – список просмотра



Компонент TListView предназначен для показа и выбора нескольких элементов. Каждый элемент может содержать пиктограмму и текст и подобно компоненту TTreeView иметь список связанных с ним подэлементов. В отличие от TTreeView в TListView допускается не более одного уровня вложенности подэлементов. TListView показывает свои элементы в одной или нескольких колонках, с крупными или мелкими пиктограммами, а также в виде «отчетов», представляющих элементы в двумерной таблице: по вертикали изображаются элементы верхнего уровня, по горизонтали – вложенные подэлементы. Рядом с элементами могут показываться независимые переключатели, упрощающие множественный выбор элементов.

Компонент TTreeView находится на вкладке Win32 и выбирается щелчком мыши по кнопке .

Компонент может наполняться как на этапе конструирования, так и на этапе прогона программы.

Свойство компонента Items содержит список всех элементов.

property Items: TListItems;

Свойство ViewStyle определяет стиль показа элементов.

property ViewStyle: TViewStyle;

Может принимать следующие значения:

vsIcon – крупные пиктограммы;

vsSmalllcon – мелкие пиктограммы;

vsList – список пиктограмм;

vsReport – таблица пиктограмм.

Замечание: чтобы компонент работал в режиме vsReport, необходимо создать хотя бы одну колонку. На этапе конструирования программы колонки создаются и изменяются с помощью редактора колонок, окно которого открывается после щелчка по компоненту правой кнопкой и выборе в локальном меню опции Column Editor.

Вид редактора колонок приведен на рис. 35.

 

 

Рис. 35. Редактор колонок компонента TListView

 

При программном заполнении компонента важную роль играет свойство Items класса TListItems. Свойства и методы данного класса приведены в табл. 14.

 

Таблица 14

Основные свойства и методы класса TListItems

Свойство или метод Описание
property Count: Integer; Количество элементов списка (Items)
property Item[Index: Integer]: TTreeNode; Открывает индексированный доступ к элементам списка

Продолжение табл. 14

function Add: TListItem; Добавляет очередной элемент к списку
procedure Clear; Очищает список
procedure Delete (Index: Integer); Удаляет элемент списка с индексом Index
procedure Insert (Index: Integer): TListItem; Вставляет новый элемент после элемента, заданного индексом Index

 

Пример. Создать список из записей следующей структуры (почти аналогична примеру из пункта 3.9):

– ФИО;

– дата рождения;

– паспорт (серия и номер);

– адрес;

– телефон.

После заполнения список должен иметь следующий вид (рис. 36).

 

 

Рис. 36. Пример компонента TListView

 

Решение. Разместить на главной форме компонент ListView1, выбрав ему свойство ViewStyle=vsReport.

При создании формы следует программно задать заголовки столбцов для списка, а также ширину для каждого (можно это сделать в редакторе колонок, но здесь будет продемонстрирован альтернативный вариант – программное задание шапки списка).

procedure TForm2.FormCreate(Sender: TObject);

Begin

with ListView1 do

Begin

{Добавление новых колонок, задание их заголовка

и ширины}

Columns.Add;

Columns[0].Caption:= '№ п/п';

Columns[0].Width:= 60;

Columns.Add;

Columns[1].Caption:= 'ФИО';

Columns[1].Width:= 120;

Columns.Add;

Columns[2].Caption:= 'Дата рождения';

Columns[2].Width:= 80;

Columns.Add;

Columns[3].Caption:= 'Паспорт';

Columns[3].Width:= 100;

Columns.Add;

Columns[4].Caption:= 'Адрес';

Columns[4].Width:= 150;

Columns.Add;

Columns[5].Caption:= 'Телефон';

Columns[5].Width:= 80;

end;

end;

 

Для кнопки Button1 («Заполнить») следует создать обработчик события OnClick, в котором происходит заполнение списка элементами, которые берутся из файла с записями.

Для работы со списком весьма полезно создать новую переменную типа TListItem, через которую можно передавать в список содержимое нового элемента. В данном примере подобная переменная будет называться ListItem. Также следует заметить, что в списке в первом столбце находится элемент верхнего уровня (в данном случае это порядковый номер), а в остальных – подэлементы (в данном примере – ФИО, дата рождения, паспорт, адрес и телефон).

procedure TForm2.Button1Click(Sender: TObject);

Var

n: integer;

ListItem: TListItem;

F: file of zap;

z: zap;

Begin

{Открытие файла с записями}

AssignFile(F, 'file.dat');

Reset(F);

{Инициализация счетчика для формирования

порядкового номера записи}

n:=1;

while not eof(F) do

Begin

Read(F, z);

{Добавление элемента верхнего уровня в список}

ListItem:= ListView1.Items.Add;

ListItem.Caption:= IntToStr(n);

{Добавление подэлементов в список}

ListItem.SubItems.Add(z.FIO);

ListItem.SubItems.Add(z.data);

ListItem.SubItems.Add(z.pasp);

ListItem.SubItems.Add(z.adress);

ListItem.SubItems.Add(IntToStr(z.tel));

{Увеличение счетчика элементов в списке}

if not EOF(F) then n:= n+1;

end;

CloseFile(F);

end;

 

 

Построение графиков

 

Компонент TChart предназначен для графического представления числовых данных.

Компонент TChart находится на вкладке Additional и выбирается щелчком мыши по кнопке .

Компонент содержит большое количество специфичных свойств, событий и методов, из которых будут рассмотрены наиболее важные.

Общая схема его использования разделяется на несколько этапов.

Сначала компонент помещается на форму. После щелчка по нему правой кнопкой мыши вызывается его вспомогательное меню, которое в числе прочих содержит опцию Edit Chart – с помощью этой опции вызывается окно редактора компонента, приведенное на рис. 37.

 

 

Рис. 37. Окно редактора компонента (вкладка Series)

 

Закладка Series этого окна открывает доступ к так называемым сериям – объектам класса TChartSeries, которые, собственно, и будут отображать наборы чисел в графическом виде. Чтобы отобразить данные, нужно создать как минимум одну се­рию – для этого следует в окне редактора нажать кнопку Add и выбрать подходящий тип графика. Окно выбора типа графика представлено на рис. 38.

 

 

Рис. 38. Окно выбора типа графика

 

Для отображения графика на декартовой плоскости лучше всего выбрать вариант Line.

После закрытия редактора компонент будет содержать примерный вид графика. Однако его реальный вид зависит от фактических данных, которые создаются в работающей программе и добавляются к серии помощью методов AddX, AddY или AddXY объекта TChartSeries (получить доступ к нужной серии можно с помощью индексированного свойства Series - первая созданная серия имеет индекс 0, вторая 1 т.д.).

Например, такой обработчик события OnActivate формы создает график функции y(x)=2*x+5 на участке от 0 до 20 с шагом 1:

procedure TForm1.FormActivate(Sender: TObject);

Var

x, y: Integer;

Begin

for x:= 0 to 20 do

Begin

y:= 2 * x + 5;

Chartl.Series[0].AddXY(x, y);

end;

end;

 

Приведенный ниже обработчик события OnCreate формы создает два графика функций y(x)=x2 и на участке от -5 до 5 с шагом 0.025:

procedure TForm1.FormCreate(Sender: TObject);

Var

k: integer;

x: real;

Begin

{Задание нижнего предела диапазона}

x:= -5;

{Задание названий графиков}

Chart1.Series[0].Title:= 'y(x)=sqr(x)';

Chart1.Series[1].Title:= 'y(x)=sqrt(x)';

{Цикл построения всех точек графика –

с учетом величины шага получается 400 точек}

for k:=1 to 400 do

Begin

{Построение очередной точки графика 1}

Chart1.Series [0].AddXY(x, sqr(x));

{Построение очередной точки графика 2 с учетом того, что его область определения – от нуля и до бесконечности в положительную сторону}

if x>=0 then Chart1.Series[1].AddXY(x, sqrt(x));

{Переход к следующей точке графика}

x:= x + 0.025;

end;

end;

У данного компонента есть ряд относительно важных свойств, которые приведены ниже.

Свойство AxisVisible – отключает / включает отображение осей графика.

property AxisVisible: Boolean;

AllowZoom – отключает / включает возможность увеличения / уменьшения масштаба отображения графика (с помощью зажатой левой клавиши мыши).

property AllowZoom: Boolean;

Monochrome – отключает / включает монохромную (черно-белую) прорисовку графика.

property Monochrome: Boolean;

SeriesList – список серий (совокупности точек одной функции) графика. Первая серия имеет номер 0, вторая – 1 и так далее.

property SeriesList: TChartSeriesList;

View3D – включает / выключает псевдотрехмерное отображение графика.

property View3D: Boolean;

Также существуют группы свойств, отвечающих за прорисовку различных элементов графика.

BottomAxis, LeftAxis, RightAxis, TopAxis – группы свойств, отвечающих за прорисовку различных осей графика (в декартовых координатах есть смысл настраивать нижнюю и левую оси графика).

property BottomAxis: TChartAxis; //Нижняя ось

property LeftAxis: TChartAxis; //Левая ось

property RightAxis: TChartAxis; //Правая ось

property TopAxis: TChartAxis; //Верхняя ось

Наиболее важные свойства из этих групп следующие.

AutomaticMinimum, AutomaticMaximum – включают / выключают автоматическую установку минимального и максимального значения на оси графика.

property AutomaticMinimum: Boolean;

property AutomaticMaximum: Boolean;

Minimum, Maximum – данные свойства хранят минимальное и максимальное значения на оси графика. Они будут работать только в том случае, если свойства AutomaticMinimum, AutomaticMaximum установлены в значение false.

property Minimum:Double;

property Maximum:Double

Title – заголовок оси.

property Title: TChartAxisTitle;

Legend – группа свойств, отвечающая за прорисовку легенды графика. С помощью свойства Visible можно включать/отключать ее отображение.

property Legend: TChartLegend;

Title – группа свойств, отвечающая за прорисовку заголовка графика. С помощью свойства Text можно вводить текст заголовка, с помощью свойства Visible включать/отключать его отображение.

property Title: TChartTitle;

Foot – группа свойств, отвечающая за прорисовку подписи графика. С помощью свойства Text можно вводить текст подписи, с помощью свойства Visible включать/отключать ее отображение.

property Foot: TChartTitle;

Gradient – группа свойств, отвечающая за градиентную заливку фона графика (заливка, при которой цвет фона переходит из одного в другой). С помощью свойств StartColor и EndColor можно задать начальный и конечный цвета заливки, с помощью свойства Visible включать/отключать отображение градиента.

property Gradient: TChartGradient;

На рис. 39 приведен пример компонента TChart с двумя построенными графиками функций.

 

 
 

 

 


 

 

Рис. 39. Пример компонента TChart с двумя построенными

графиками функций

 

Закладки и страницы

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 368; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.186.6 (0.043 с.)