- •Часть 1. Среда Delphi Тема 1. Объектно-ориентированное программирование
- •Тема 2. Элементы интерфейса
- •Окно проектировщика формы
- •Окно инспектора объектов
- •С оздание и сохранение проекта и файла модуля Как открыть новый проект?
- •Как открыть существующий проект?
- •Тема 3. Характеристика проекта. Состав проекта
- •Файлы формы
- •Файлы модулей
- •Файл ресурсов
- •Параметры проекта
- •Тема 4. Компиляция и выполнение проекта
- •Тема 5. Основные объекты
- •Основные свойства объектов
- •Основные события
- •Часть 2. Язык Object Pascal
- •Тема 1. Основные понятия
- •Словарь языка
- •Структура программы
- •Комментарии
- •Тема 2. Данные Виды данных
- •Типы данных
- •Простые типы данных
- •Структурные типы данных
- •Тема 3. Выражения
- •Арифметические выражения
- •Логические выражения
- •Строковые выражения
- •Тема 4. Простые операторы Оператор присваивания
- •Оператор перехода
- •Тема 5. Работа с графикой
- •Оператор доступа
- •Рисование многоугольников в Delphi
- •Закрашивание произвольной области в Delphi
- •Работа с несколькими формами
- •Объект Shape (Фигура)
- •Тема 6. Работа с датой и временем Объект Timer
- •Свойства компонента Timer
- •Манипулирование датами и временем
- •Тема 7. Встроенные окна диалога.
- •Окно ввода данных
- •InputВох(заголовок, подсказка, значение)
- •Окно вывода сообщений
- •Тема 8. Структурированные операторы
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы цикла
- •Тема 9. Подпрограммы
- •Процедуры
- •Функции
- •Параметры и аргументы
- •Тема 10. Работа с элементами выбора
- •1. Флажок (CheckBox)
- •2. ПереключательRadioButton
- •Свойства компонента RadioButton
- •Свойства компонента tRadioGroup
- •3. Простой список ListBox
- •Свойства компонента ListBox
- •4. Комбинированный список ComboBox
- •Свойства компонента СотbоВох
- •Значения для свойства Style
- •Тема 11. Работа с меню
- •Основные свойства пункта меню:
- •Главное меню
- •Конструктор меню
- •Динамическая настройка меню
- •Тема 12. Массивы
- •Объявление массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива
4. Комбинированный список ComboBox
Компонент ComboBox дает возможность ввести данные в поле редактирования путем набора на клавиатуре или выбором из списка.
Комбинированный список применяется в тех случаях, когда необходимо выбрать определенное значение какого-либо параметра в раскрывающемся окне или задать в текстовом поле собственное значение в случае его отсутствия в списке. Если все имеющиеся элементы не помещаются в границах стандартного окна, то на нем автоматически появляются полосы прокрутки, с помощью которых можно выбирать требуемый элемент в списке.
Свойства компонента СотbоВох
Свойство |
Описание |
Name |
Имя компонента. Используется для доступа к свойствам компонента |
Text |
Текст, находящийся в поле ввода-редактирования |
Items |
Элементы списка – массив строк |
Count |
Количество элементов списка |
ItemIndex |
Номер элемента, выбранного в списке. Если ни один из элементов списка не был выбран, то значение свойства равно минус 1 |
Sorted |
Признак необходимости автоматической сортировки (True) списка после добавления очередного элемента |
DropDownCount |
Количество отображаемых элементов в раскрытом списке. Если количество элементов списка больше чем DropDownCount, то появляется вертикальная полоса прокрутки |
Left |
Расстояние от левой границы компонента до левой границы формы |
Top |
Расстояние от верхней границы компонента до верхней границы формы |
Height |
Высота компонента (поля ввода-редактирования) |
Width |
Ширина компонента |
Font |
Шрифт, используемый для отображения элементов списка |
ParentFont |
Признак наследования свойств шрифта родительской формы |
Компонент TComboBox (Комбинированный список) представляет собой вариант списка с присоединенным дополнительным полем, в котором отображается выбранный элемент списка. Это же поле может использоваться для ввода новых элементов или для быстрого поиска элемента по начальным символам. Если на экране отображается только поле без списка, то для раскрытия списка можно использовать комбинацию клавиш Alt+вниз, а для выбора элемента списка используются клавиши перемещения (клавиши со стрелками).
Компонент TComboBox работает в пяти разных режимах, определяемых значением свойства Style.
Значения для свойства Style
Значение |
Механизм работы списка |
csDropDown |
Создается раскрывающийся список с возможностью редактирования. Свойство MaxLength определяет максимально допустимое число символов, которое можно ввести в это поле (значение 0 указывает на отсутствие ограничений). Текст, введенный пользователем, доступен с помощью свойства Text |
csDropDownList |
Создается раскрывающийся список только для выбора значений, уже имеющихся в списке |
csSimple |
Отличается от стиля csDropDown только тем, что список не является раскрывающимся |
csOwnerDrawFixed |
Создается раскрывающийся список только для выбора значений с возможностью оформления пользователем |
csOwnerDrawVariable |
Создается раскрывающийся список только для выбора значений с возможностью оформления пользователем. Элементы могут иметь разную высот |
Понятия выделенная строка в раскрывающемся списке нет. В нем имеется только текущая выбранная строка (ее номер в списке хранится в свойстве ItemIndex). Соответственно нельзя и выделять строки списка. Единственный метод, связанный с выделением данных, - это процедура SelectAll, которая выделяет весь текст, введенный пользователем в присоединенное поле. При работе с раскрывающимся списком наиболее важными являются перечисленные ниже события.
Перечислим основные события компонента TComboBox.
События компонента TComboBox
Название |
Условия генерации |
OnChange |
Пользователь изменил текст в присоединенном поле |
OnDropDown |
Список раскрывается. Это событие необходимо обрабатывать, если содержимое списка может меняться во время работы программы. Тогда в обработчике этого события можно заново сформировать содержимое списка (свойство Items) |
Пример программы с использованием поля со списком.
Поместите на форму компоненты: Label1, ComboBox1.
Д ля Form1 создайте обработчик OnCreate:
procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
for i:=0 to 5 do
ComboBox1.Items.Add ('Элемент '+IntToStr(i));
end;
Для компонента ComboBox1 - обработчик OnSelect:
procedure TForm1.ComboBox1Select (Sender: TObject);
var
i:Integer;
begin
i:=ComboBox1.ItemIndex;
Label1.Caption:=ComboBox1.Items.Strings[i];
end;