Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Создание и работа со списками

Для создания списков существуют 2 компоненты ListBox и ComboBox.

Компонент класса TListBox представляет собой стандартный для Windows список выбора, с помощью которого пользователь может выбрать один или несколько элементов выбора. В компоненте предусмотрена возможность программной прорисовки элементов, поэтому список может содержать не только строки, но и произвольные изображения.Свойства и методы компоненты ListBox (таблица 11):

 

Таблица 11 - Свойства и методы компоненты ListBox

Название Назначение
Свойства
Name:string Наименование компоненты (по умолчанию ListBox1)
Items: TStrings; Содержит набор строк, показываемых в компоненте
Itemlndex: Integer; Содержит индекс сфокусированного элемента. Если MultiSelect=False, совпадает с индексом выделенного элемента
TBorderStyle: перечисл Определяет стиль рамки: bsNone - нет рамки; bssingle - рамка толщиной 1 пиксель
Count: Integer; Содержит количество строк в компоненте
MultiSelect: Boolean Разрешает/отменяет выбор нескольких элементов
SelCount: Integer Содержит количество выбранных элементов
Selected[X: Integer]: Boolean; Содержит признак выбора для элемента с индексом х (первый элемент имеет индекс 0)
Sorted: Boolean Разрешает/отменяет сортировку строк в алфавитном порядке
Методы
Count Определяет количество элементов в списке
Clear Удаляет весь список
Add Добавляет новый элемент в список
Delete Удаляет определённый элемент из списка
Insert Вставляет новый элемент в список
LoadFromFile: TString. Для загрузки списка из файла
SaveToFile: TString. Для сохранения списка в файле

 

Комбинированный список TComboBox представляет собой комбинацию списка TListBox и редактора TEdit, и поэтому большинство его свойств и методов заимствованы у этих компонентов. Существуют пять модификаций компонента, определяемые его свойством style: csSimple, csDropDown, csDropDownList, csOwnerDrawFixed И csOwner DrawVariabie. В первом случае список всегда раскрыт, в остальных он раскрывается после нажатия кнопки справа от редактора (рис. 16). В модификации csDropDownList редактор работает в режиме отображения выбора и его нельзя использовать для ввода новой строки (в других модификациях это возможно). Модификации csOwnerDrawFixed и csOwnerDrawVariable используются программной прорисовки элементов списка. Используемые для этого свойства и методы полностью совпадают со свойствами и методами TListBox аналогичного назначения.

Фактически “своими” у компонента являются лишь свойства и события, связанные с раскрытием списка:

 

Рис. 16 - Примеры комбинированных списков

 

Свойство DropDownCount определяет количество элементов списка, появление которых еще не приводит к необходимости прокрутки списка. По умолчанию это свойство имеет значение 8: если в списке указано 9 и более элементов (т. е. больше, чем содержит DropDownCount), при его раскрытии к окну будет добавлена полоса прокрутки. Свойство DroppedDown определяет, раскрыт ли в данный момент список. Это свойство доступно также для записи, что позволяет программно управлять состоянием списка. Событие OnDropDown происходит при изменении состояния списка.

Наполнение списка ведется методами Add, Append, Insert и т. п. его свойства Items класса TStrings.

 

Пример 1: По фамилии в списке вывести его должность.

1. Поместите на форму компоненты: 3 Label, ListBox и измените значения их свойств:

Свойство Caption у комконенты Label1 – ‘Список сотрудников’;

Свойство Caption у комконенты Label2 – ‘ ’;

Свойство Caption у комконенты Label3 – ‘Должность’;

2. Расположите компоненты как показано на рисунке 17 и введите текст программы для событий OnCreate для компоненты Form1 и OnClick для компоненты ListBox:

 

Рис. 17 - Пример приложения

 

procedure TForm1.FormCreate(Sender: TObject);

begin

ListBox1.Items[0]:='Иванов';

ListBox1.Items[1]:='Петров';

ListBox1.Items[2]:='Сидоров';

end;

 

procedure TForm1.ListBox1Click(Sender: TObject);

var i:byte;

begin

i:= ListBox1.ItemIndex; // номер выбранного элемента

case i of

0: Label2.Caption:='директор';

1: Label2.Caption:='менеджер';

2: Label2.Caption:='программист';

end;

end;

Пример 2: Просмотреть или добавить в список нового сотрудника.

1. Поместите на форму компоненты: 2 Label, ComboBox, Button, Edit и измените значения их свойств:

Свойство Caption у комконенты Label1 – ‘Список сотрудников’;

Свойство Caption у комконенты Label2 – ‘Введите сотрудника’;

Свойство Caption у комконенты Button1 – ‘Добавить в список’;

 

2. Расположите компоненты как показано на рисунке 18 и введите текст программы для событий OnClick для компоненты Button1:

 

Рис. 18 - Пример приложения

 

procedure TForm1.Button1Click(Sender: TObject);

begin

ComboBox1.Items.Add(Edit1.Text);

end;

 

<== предыдущая лекция | следующая лекция ==>
Организация меню. Создание главного и контекстного меню | Концептуальные основы реализации справочной системы
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 292; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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