Компоненты выбора из списков — ListBox, CheckListBox, ComboBox 


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



ЗНАЕТЕ ЛИ ВЫ?

Компоненты выбора из списков — ListBox, CheckListBox, ComboBox



 

Компоненты ListBox и ComboBox отображают списки строк и позволяют пользователю выбрать в них нужную строку. Основное свойство обоих компонентов, содержащее список строк, — Items, имеющее рас­смотренный ранее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и ме­тодами класса TStringsClear, Add и другими. Этот же класс позволяет поставить в соответствие каждой строке некоторый объект. Тогда выбор пользователем строки в списке можно программно соотносить с этим объектом.

Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox.

Свойство Sorted позволяет упорядочить список по алфавиту.

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

Свойство Style, установленное в IbStandard (значение по умолчанию) соответ­ствует списку строк. Другие значения Style позволяют отображать в списке не то­лько текст, но и изображения, а в Delphi 6 введена возможность создавать виртуа­льные списки.

Значения IbOwnerDrawFixed и IbOwnerDrawVariable используются для зане­сения в список изображений. При этом IbOwnerDrawFixed означает, что высота всех элементов списка одинакова, а значение IbOwnerDrawVariable означает, что высота элементов может быть различной.

Основные свойства, характеризующие компонент Chec­kListBox как список, аналогичны ListBox, за исключением свойств, определяю­щих множественный выбор. Эти свойства компоненту CheckListBox не нужны, по­скольку в нем множественный выбор можно осуществлять установкой индикато­ров.

В Delphi 6 в CheckListBox появились новые свойства, позволяющие зрительно разбить список на несколько разделов с помощью заголовков. Свой­ство Header представляет собой индексированный массив булевых значений, опре­деляющих, является ли соответствующая строка заголовком (значение true), или это обычная строка с индикатором (значение false). Свойство Header — только времени выполнения и должно заполняться программно (по умолчанию все значе­ния равны false). Например, операторы

CheckListBoxl.Header[1]:= true;

CheckListBoxl.Header[9]:= true;

задают в качестве заголовков вторую и десятую строки.

Заголовки отображаются в строках с цветом фона, определяемым свойством HeaderBackgroundColor, и цветом надписи, задаваемым свойством HeaderColor.

Рассмотрим теперь компонент выпадающих списков ComboBox

Стиль изображения компонента ComboBox определяется его свойством Style, которое может принимать следующие основные значения:

CsDropDown - Выпадающий список со строками одинаковой высоты и с окном редактирования, позволяющим пользовате­лю вводить или редактировать текст

CsSimple - Развернутый список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст

CsDropDownList - Выпадающий список со строками одинаковой высоты, не содержащий окна редактирования

CsOwnerDrawFixed - Выпадающий список со строками одинаковой высоты, в которых могут отображаться изображения и текст

CsOwnerDrawVariable - Выпадающий список со строками разной высоты, в ко­торых могут отображаться изображения и текст

При стилях csOwnerDrawFixed и csOwnerDrawVariable изображение рисуют­ся на канве в обработчике события OnDrawItem так же, как это рассказывалось ранее для ListBox. При стиле csOwnerDrawVariable перед рисованием возникает событие OnMeasureltem, в обработчике которого надо задать высоту элемента.

Выбор пользователя или введенный им текст можно определить по значению свойства Text. Если же надо определить индекс выбранного пользователем элемен­та списка, то можно воспользоваться обсуждавшимся в компоненте ListBox свой­ством Itemlndex. Все сказанное выше об Itemlndex и о задании его значения по умолчанию справедливо и для компонента ComboBox. Причем для ComboBox за­дание начального значения Itemlndex еще актуальнее, чем для ListBox.

Если в окне проводилось редактирование данных, то Itemlndex = -1. По этому признаку можно определить, что редактирование проводилось.

Свойство MaxLength определяет максимальное число символов, которые поль­зователь может ввести в окно редактирования. Если MaxLength = 0, то число вво­димых символов не ограничено.

Свойство DropDownCount указывает число строк, появляющихся в выпадаю­щем списке без возникновения полосы прокрутки.

Как и в компоненте ListBox, свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

Таблица строк — компонент StringGrid

Компонент StringGrid представляет собой таблицу, содержащую строки. Данные таблицы могут быть только для чтения или редакти­руемыми. Таблица может иметь полосы прокрутки, причем заданное число пер­вых строк и столбцов может быть фиксированным и не прокручиваться. Таким об­разом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.

Компонент StringGrid предназначен в первую очередь для отображения таб­лиц текстовой информации.

Основные свойства компонента, определяющие отображаемый текст:

Cells[ACol, ARow: Integer]: string - Строка, содержащаяся в ячейке с индекса­ми столбца и строки ACol и Arow.

Cols[Index: Integer]: Tstrings - Список строк, содержащихся в столбце с индексом Index.

Rows[Index: Integer]: Tstrings - Список строк, содержащихся в строке с индексом Index.

Objects [ACol, ARow: Integer]: TObject - Объект, связанный со строкой, содержа­щейся в ячейке с индексами столбца и строки ACol и Arow.

Все эти свойства доступны во время выполнения. Задавать тексты можно про­граммно или по отдельным ячейкам, или сразу по столбцам и строкам с помощью методов класса Tstrings.

Свойства ColCount и RowCount определяют соответственно число столбцов и строк, свойства FixedCols и FixedRows — число фиксированных, не прокручивае­мых столбцов и строк. Цвет фона фиксированных ячеек определяется свойством FixedColor. Свойства LeftCol и TopRow определяют соответственно индексы пер­вого видимого на экране в данный момент прокручиваемого столбца и первой ви­димой прокручиваемой строки.

Свойство ScrollBars определяет наличие в таблице полос прокрутки. Причем полосы прокрутки появляются и исчезают автоматически в зависимости от того, помещается таблица в соответствующий размер или нет.

Свойство Options является множеством, определяющим многие свойства таб­лицы: наличие разделительных вертикальных и горизонтальных линий в фикси­рованных (goFixedVertLine и goFixedHorzLine) и не фиксированных (goVertLine и goHorzLine) ячейках, возможность для пользователя изменять с помощью мыши размеры столбцов и строк (goColSizing и goRowSizing), перемещать столб­цы и строки (goColMoving и goRowMoving) и многое другое. Важным элементом в свойстве Options является goEditing — возможность редактировать содержимое таблицы.

В основном компонент StringGrid используется для выбора пользователем ка­ких-то значений, отображенных в ячейках. Свойства Col и Row показывают ин­дексы столбца и колонки выделенной ячейки. Возможно также выделение пользо­вателем множества ячеек, строк и столбцов.



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 371; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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