Скачиваний:
49
Добавлен:
10.12.2013
Размер:
68.1 Кб
Скачать

7

Урок № 4 Компоненты-списки

Цель: Научится использовать компоненты-списки TListBox и TComboBox

Основное содержание работы

В целочисленном массиве найти максимальный и минимальный элементы и поменять их местами.

Краткие теоретические сведения.

  • Компонент TListBox

Страница Палитры Компонентов: Standard.

Иерархия:

TObjectTPersistentTComponentTControlTWinControl

TCustomListBox TListBox

Компонент TListBox предназначен для отображения списка строк на экране - список List Box.

Этот компонент имеет в своем составе объект-список, являющийся экземпляром класса TStrings и содержащий набор строк с ассоциированными с ними произвольными объектами. Если говорить точнее, используется не сам абстрактный класс TStrings, а его одноименные потомки с переопределенными методами.

Таким образом, компонент List Box, являющийся экземпляром класса TListBox, позволяет отображать на экране список строк, каждая из которых может быть связана, например, с некоторым рисунком. Непосредственным предком класса TListBox является класс TCustomListBox, который порожден от класса TWinControl. Следовательно, компонент List Box является оконным управляющим элементом.

Основные характеристики списка List Box заложены в классе TCustomListBox. Главными из них являются наличие списка строк класса TStrings, средств отображения списка и возможность манипулирования его элементами.

Основные свойства класса TCustomListBox:

property Itemlndex: Integer;

Определяет индекс выделенного элемента в списке. Нумерация элементов начинается с нуля. Если выделенного элемента нет, это свойство принимает значение, равное -1. Если в списке может быть выделено несколько элементов, указывается индекс активного выделенного элемента. Свойство доступно только на этапе выполнения программы.

property Items: TStrings;

Задает элементы списка.

property MultiSelect: Boolean;

Определяет, разрешается ли одновременно выделять несколько элементов списка (если True, то такое выделение возможно, в противном случае выделить можно только один элемент).

property Selected [Index: Integer]: Boolean;

Если i-ый элемент списка выделен, то Selected[i] равняется True, в противном случае - False. Свойство доступно только на этапе выполнения программы.

property Sorted: Boolean;

Указывает, должны ли строки в списке автоматически сортироваться в алфавитном порядке.

Метод procedure Clear удаляет все элементы списка.

Событием по умолчанию для списка является событие OnClick.

  • Combo Box - комбинированная строка ввода

Страница Палитры Компонентов: Standard.

Иерархия:

TObjectTPersistentTComponentTControlTWinControl

TCustomComboBox

Комбинированная строка ввода Combo Box является экземпляром класса TCustomBox и объединяет в себе возможности строки ввода Edit и списка List Box. По внешнему виду компонент Combo Box напоминает обычную строку ввода Edit, но дополнительно имеет в правой части кнопку со стрелкой, направленной вниз.

Если щелкнуть мышью по этой кнопке, появится выпадающий список, подобный списку компонента List Box. Наличие строки ввода у компонента Combo Box расширяет его возможности по сравнению с обычным списком List Box. Например, используя строку ввода, можно вводить в список новые элементы, осуществлять поиск нужного элемента в списке, отображать активный элемент списка.

Основные характеристики комбинированной строки ввода заложены в классе TCustomComboBox, являющимся непосредственным предком класса TCustomBox. Предком класса TCustomComboBox является непосредственно базовый класс всех оконных элементов управления TWinControl.

Основные свойства класса TСustomComboBox:

property DropDownCount: Integer;

Определяет максимальное число элементов, отображаемое в раскрывающемся списке.

property DroppedDown: Boolean;

Указывает, отображается ли раскрывающийся список в данный момент. Свойство доступно только на этапе выполнения программы.

property Itemlndex: Integer;

Определяет индекс выделенного элемента в списке. Нумерация элементов начинается с нуля. Если выделенного элемента нет, оно принимает значение, равное -1. Свойство доступно только на этапе выполнения программы.

property Items: TStrings;

Так же, как и в классе TCustomListBox, задает элементы списка.

type TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable); property Style: TComboBoxStyle;

Определяет стиль изображения списка:

csDropDown - строки списка имеют одинаковую фиксированную высоту, совпадающую с окном редактирования, что позволяет вводить или редактировать текст;

csSimple - список всегда раскрыт;

csDropDownList - строки списка имеют одинаковую фиксированную высоту, окно редактирования отсутствует;

csOwnerDrawFixed - строки списка имеют высоту, определяемую свой­ством ItemHeight, и не могут редактироваться в строке ввода;

csOwnerDraw Variable - строки списка имеют высоту, определяемую в об­работчике события OnMeasureltem, возникающем при необходимости получения высоты элемента перед его

перерисовкой, и не могут редактиро­ваться в строке ввода.

type TCaption = string; property Text: TCaption;

Содержит текст выбранной или введенной пользователем строки. Свойство унаследовано от класса TControl.

Поскольку в классе TComboBox по сравнению с классом TListBox отсутствует свойство MultiSelect, то в компоненте Combo Box не допускается множественный выбор.

Основные операции для обработки списка в компоненте Combo Box - добавление, удаление, поиск, сортировка элементов - осуществляется так же, как и в списке List Box.

Событием по умолчанию для комбинированной строки ввода Combo Box является событие OnChange, возникающее при изменении текста в окне редактирования в результате прямого редактирования текста или в результате выбора из списка.

Соседние файлы в папке Ноткин