- •Раздел 2. Среда программирования Delphi.
- •2.1. История языка.
- •2.2. Среда программирования Delphi.
- •2.3. Основная форма и её свойства.
- •2.4. Компонентный подход. Палитра компонентов.
- •1) Label.
- •2) Edit.
- •3) Button.
- •4) Image.
- •5) Компонент GroupBox.
- •6) Компонент RadioGroup.
- •7) Компонент RadioButton.
- •8) Компонент Shape.
- •9) Компонент CheckBox.
- •10) Компонент Memo.
- •11) Компонент ListBox.
- •12) Компонент Combobox.
- •13) Компонент CheckListBox.
- •14) Компонент ScrollBar.
- •15) Компонент StringGrid.
- •16) Компонент ValueListEditor.
- •17) Компонент MainMenu.
- •18) Компоненты tToolBar и tControlBar.
- •19) Набор закладок (tTabControl)
- •20) Набор страниц (tPageControl )
- •21) Ползунки (tTrackBar)
- •22)Компонент Timer.
- •2.5. Структура проекта, его сохранение и компиляция.
- •Interface
- •Implementation
- •Раздел 3. Лабораторные работы по Delphi.
- •3.1. Лабораторная работа №1. СтандартныекомпонентыLabel, Edit, Button, Image, Shape.
- •3.2. Лабораторная работа №2. Стандартные компоненты GroupBox, RadioGroup, RadioButton, CheckBox.
- •3.3. Лабораторная работа №3. Компоненты Memo, ListBox, Combobox, CheckListBox.
- •3.4. Лабораторная работа №4. Закрепление стандартных компонент. Калькулятор.
- •3.5. Лабораторная работа №5. Полосы прокрутки ScrollBar, сеточки StringGrid, редактор параметров ValueListEditor.
- •3.6. Лабораторная работа №6. Компоненты MainMenu, tToolBar, tControlBar, набор закладок (tTabControl), набор страниц (tPageControl ), ползунки (tTrackBar).
- •3.7. Лабораторная работа №7. Компонент времени Timer.
16) Компонент ValueListEditor.
Это очень удобный компонент для редактирования различных свойств. Например, с помощью этого компонента можно легко создать редактор свойств наподобие того, что используется в объектном инспекторе, где мы изменяем свойства компонентов.
-
ТValueListEditor
Создадим новый проект и помести на форму один такой компонент. Рассмотрим его основные свойства. В дизайнере тебе доступны несколько интересных вещей:
DefaultColimnWidth – ширина колонок по умолчанию;
DefaultColimnHeight– высота колонок по умолчанию;
DisplayOption – опции отображения компонента. Здесь тебе доступны три подпункта:
doColumnTitles – нужно ли показывать заголовки колонок;
doAutoColResize– могут ли колонки автоматически изменять размер;
doKeyColFixed – являеться ли ключевая колонка фиксированной;
TitleCaptions - имена заголовков. Щелкнем дважды по этому свойству, и увидим простой текстовый редактор, в котором можно изменять имена заголовков. Мы ввели там только два заголовка - "свойство" и "Установленное значение".
FixedColor - Цвет фиксированной колонки.
FixedCols - Индекс фиксированной колонки. По умолчанию стоит 0, т.е. фиксированной колонки нет. Изменим это значение на 1, чтобы сделать первую колонку фиксированной.
KeyOption– настройки ключевого поля. Их бесполезно менять, если мы установили в свойстве FixedCols какое-либо значение. Но здесь доступны следующие подпункты:
keyEdit – название ключа можно редактировать
keyAdd – ключи можно добавлять
keyDelete – ключи можно удалять
keyUnique – ключ должен быть уникальным
Strings - Имена свойств (рис. 2.29). Этот редактор состоит из двух колонок. В первой колонке мы должны вводить имена ключей (свойств), а в правой их значения по умолчанию. Например:
Фамилия
Имя
Отчество
Ник
Год рождения
Место рождения
Адрес
Телефон
Рис. 2.29. Редактор строк
Больше в дизайнере пока нет ничего особо заслуживающего нашего внимания. На рисунке 2.30 показан рисунок формы, которая должна у тебя получиться.
Списки свойств имеют одну очень удобную особенность – они могут поддерживать свойства с выпадающими списками. Это значит, что нужно указать, какое свойство будет иметь выпадающий список, заполнить его значения и после этого оно будет работать как свойство выравнивания любого компонента в объектном инспекторе.
Рис. 2.30. Форма будущей программы
Создадим обработчик события для формы OnShow. В нём мы напишем следующее:
procedureTForm1.FormShow(Sender: TObject);
begin
ValueListEditor1.ItemProps[6].EditStyle:=esPickList;
ValueListEditor1.ItemProps[6].PickList.Add('Москва');
ValueListEditor1.ItemProps[6].PickList.Add('Питер');
ValueListEditor1.ItemProps[6].PickList.Add('Ростов-на-Дону');
ValueListEditor1.ItemProps[4].EditMask:='99/99/9999';
end;
У компонента ValueListEditor есть одно свойство, которое мы не видим в объектном инспекторе – ItemProps. В нём хранятся свойства элементов списка. Если мы хотим изменить свойства 3-го элемента, то надо написать ValueListEditor1.ItemProps[2]. Обратим внимание, как и в большинстве компонентов, здесь элементы нумеруются с нуля. Поэтому нужно указывать на 1 меньше необходимого.
Среди свойств элементов есть ещё одно интересное свойство – EditStyle – стиль редактирования. Это свойство отвечает за вид элемента. В первой строке кода мы изменяем стиль редактирования для 6-й строки (ValueListEditor1.ItemProps[6].EditStyle) присваивая ему значение esPickList. Это значение заставляет эту строку превратиться в выпадающий список. После этого заполняем для 6-го элемента элементы, которые будут находиться в выпадающем списке. Для этого выполняем код
ValueListEditor1.ItemProps[6].PickList.Add(текстэлемента).
Ещё одно интересное свойство – EditMask – маска ввода для элемента. В последней строчке кода примера изменяем маску для 4-го элемента.
