- •Основы визуального программирования в среде Delphi 7.0
- •2. МеткаLabel(страницаStandard)
- •3. Окно редактирования Edit (страница Standard)
- •4. Кнопки Button, BitBtn (страницы Standard, Additional)
- •5. Компонент CheckBox(страница Standard)
- •6. Компоненты GroupBox, RadioButton (страница Standard)
- •7. Компонент ComboBox(страница Standard)
- •Пример выполнения задания
- •Практические задания
- •Занятие №2
- •2. Компонент PageControl (страница Win32)
- •3. КомпонентDateTimePicker(страницаWin32)
- •4. КомпонентTrackBar(страницаWin32)
- •5. Компонент UpDown (страница Win32)
- •Практические задания
- •Занятие №3
- •2. Создание меню с помощью мастера
- •3. Компоненты MainMenuи РоpupMenu(панельStandart)
- •4. Проектирование меню с помощью Конструктора Меню
- •5. Организация отклика на вызов пункта меню
- •6. Диалоги как модальные формы
- •7. Создание диалогового окна с помощью шаблона
- •8. Вызов диалогового окна пунктом меню
- •9. Прием введенных значений из диалогового окна в основное окно приложения
- •Практические задания
- •Занятие №4
- •2. Компонент TreeView(страницаWin32)
- •3. Компонент ListView(страницаWin32)
- •4. Компонент OpenDialog (страница Dialogs)
- •5. Компонент FontDialog (страница Dialogs)
- •6. Компонент ColorDialog(страницаDialogs)
- •Практические задания
- •Занятие №5 Подготовка справочной системы Цель занятия
- •Методические указания
- •1. Создание текстового файла разделов (*.Rtf)
- •Сноска #
- •Сноска к (заглавная латинская буква)
- •2. Создание файла содержания (*.Cnt)
- •3. Создание файла проекта
- •4. Подключение справочной системы к приложению
- •Задание
- •Оглавление
3. Компонент ListView(страницаWin32)
Компонент ListView
позволяет
представить данные в виде списков,
таблиц, крупных и мелких пиктограмм,
дает возможность представления
иерархических структур. Смысл дочерних
узлов другой: это информация, которая
появляется только в режиме vsReport - в виде
таблицы.
Ряд свойств компонента ListView:
Items – объекты типа TListItem, доступ к которым осуществляется с помощью редактора свойств или программно
ViewStyle - стиль отображения информации. Может принимать следующие значения:
vsIcon - крупные значки
vsSmallIcon - мелкие значки
vsList - список
vsReport - таблица
Columns – определяет список заголовков в режиме отображения таблицы vsReport , объекты типа TListColumn. При этом свойство ShowColumnHeaders должно быть установлено в true
Largelmages указывает на компонент, хранящий пиктограммы для отображения больших иконок (режим vsIcon)
SmallImages указывает на компонент, хранящий пиктограммы для режимов vsSmallIcon, vsList и vsReport
Свойство Items в свою очередь имеет ряд свойств, относящихся к определенному узлу и доступные только во время выполнения программы:
SubItems – определяет дочерний узел, т.е. колонки табличного списка
Caption - надпись, появляющаяся около пиктограммы Для дочерних узлов это свойство соответствует надписи, появляющейся в ячейках таблицы в режиме vsReport.
ImageIndex - определяет пиктограммы, индексы которых соответствует спискам изображений в компонентах ImageList. Указания на эти компоненты можно задать в свойствах Largelmages и SmallImages
Эти свойства можно задать в редакторе Items кнопками NewItem - новые узлы и NewSubltem - дочерние узлы. Здесь также задаются свойства Caption и ImageIndex. Свойство Columns также можно задать в специальном редакторе заголовков, вызываемым двойным щелчком на компоненте ListView или через Инспектор Объектов. При этом следует задавать значение свойства Caption
Основные методы компонента ListView:
Clear - очистка списка
Add - добавление элемента
Delete – удаление элемента
Пример 3. Продолжим рассмотренный выше пример. Добавим на форму компонент ListView и зададим начальный режим отображения списка, т.е. в виде списка
procedure TForm1.FormCreate(Sender : TObject)
begin
ListView1.ViewStyle: = vsList;
end;
Заполним свойство Columns, добавив в него 4 элемента с надписями (свойство Caption) «Фамилия», «Имя», «Номер зачетной книжки», «Номер читательского билета». Это будут заголовки столбцов в табличном режиме отображения списка. Теперь сделаем так, чтобы при выборе пользователем конкретного узла дерева (группы или студента) информация о нем отображалась бы в окне списка ListView. Необходимо обрабатывать событие OnChange дерева:
procedure TForm1.TreeView1Change(Sender : TObject; Node : TTreeNode)
var
i : integer;
begin
ListView1.Items.Clear; //очистка списка
if (Node.Level > 0) //если выбран дочерний узел
then SetViewList (Node); //выводим сведения об отдельном студенте
else //если выбран корневой каталог с номером группы
for i :=0; to Node.Count do
SetViewList (Node.Item[i]); //выводим сведения о всей группе
end;
Здесь для каждого узла вызывается функция SetlViewList, которую необходимо заранее определить в классе формы как
private: procedure SetViewList( Nd : TTreeNode);
и реализовать :
procedure TForm1,SetViewList(Nd : TTreeNode)
var
Item1: TListItem; //новый элемент списка
begin
Item1:=ListView1.Items.Add; //добавляем элемент
Item1.Caption:=TStudent(Nd.Data).Fam; //надпись для пиктограммы
//заполняем колонки табличного списка, т.е. добавляем дочерние элементы
Item1.SubItems.Add(TStudent(Nd.Data).Name);
Item1.SubItems.Add(IntToStr(TStudent(Nd.Data).NomZach));
Item1.SubItems.Add(IntToStr(TStudent(Nd.Data).Chit));
Item1.ImageIndex:=2; //значок элемента
end;
