Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Компоненты выбора из списков — 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 новые строки в список добавляются не в конец, а по алфавиту.




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 1272; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.