Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C++Builder. Учебный курс

.pdf
Скачиваний:
14
Добавлен:
15.11.2022
Размер:
9.54 Mб
Скачать

К компонентам выбора из списков относятся T L istB o x и

TComboBox.

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

Компоненты списков отличаются прежде всего тем, что T L is tB o x только отображает данные и позволяет пользователю

выбрать необходимые, a TComboBox позволяет также редактиро­ вать данные.

Кроме

того, различается форма отображения списков.

T L is tB o x

отображает список в раскрытом виде и автоматически

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

Элементы списка задаются свойством Ite m s, который имеет

тип T S t r in g s . Методы

класса T S tr in g s - Add, D e le te и

I n s e r t

используются для добавления, удаления и вставки строк.

Свойство

Ite m s - > C o u n t

определяет текущее число строк спи­

ска.

 

 

Метод C le a r компонента можно использовать для очистки списка.

Свойство I te m ln d e x содержит индекс выбранного элемента списка. Индекс первого элемента в списке равно 0. Значение свой­ ства равно -1 , если элемент не выбран.

Для сортировки списка необходимо установить значение свойства S o r te d в t r u e .

4.6.4.1. Компонент TComboBox

Компонент TComboBox (рис. 4.23) включает в себя список и строку редактирования или статический текст.

 

- Разместите компонент T L a b e l на форме.

 

 

- Объявите в программе глобальную переменную п (количе­

ство ступеней ракеты) целого типа.

 

 

- Создайте обработчик события O n C re a te формы.

v o id

__f a s t c a l l T F orm l: : F o rm C reate(T O b ject *Sender)

{

= 1;

 

 

 

 

П

 

 

 

 

L a b e ll-> C a p tio n = "О дн оступ ен чатая р а к е т а " ;

C om boB oxl->ltem lndex

 

= 1;

 

ComboBoxl- >Text = "1 ";

 

}

 

 

 

 

 

 

-Создайте обработчик

события O n C lic k

или O nC hange

компонента TComboBox.

 

 

 

v o id

__f a s t c a l l T F orm l: : C om boB oxlC lick(T O bject

♦Sender)

 

 

 

 

{

 

 

 

 

 

s w itc h (C om boB oxl->ltem lndex)

 

{

c a se

0:

 

 

 

 

 

 

 

 

n

= 1;

 

 

 

 

L a b e ll-> C a p tio n

=

"О дн оступ ен чатая

р а к е т а " ;

 

b re a k ;

 

 

 

 

c a se

1:

 

 

 

 

n

= 2;

 

 

 

 

L a b e ll-> C a p tio n

=

"Д ву х сту п ен ч а тая

р а к е т а " ;

 

b re a k ;

 

 

 

 

c a se

2:

 

 

 

 

n

= 3;

 

 

 

 

L a b e ll-> C a p tio n

=

"Т р е х с т у п е н ч а т а я

р а к е т а " ;

 

b re a k ;

 

 

 

 

d e f a u l t:

 

 

 

}

}

- Запустите приложение и проверьте правильность его работы.

Компонент T L is tB o x содержит список элементов, которые могут быть выбраны при помощи клавиатуры или мыши. Типич­

ный пример элемента этого типа - список имен файлов.

Свойство M u l t i S e l e c t разрешает пользователю множест­

венный выбор в списке. Если M u lt i S e le c t= f a l s e , то пользо­ ватель может выбрать только один элемент списка. На способ множественного выбора влияет свойство E x te n d e d S e le c t. Если

E x t e n d e d S e l e c t = tr u e , то пользователь при выборе может ис­ пользовать клавиши C t r l и S h i f t .

Значение свойства I te m ln d e x используется для того чтобы определить, какой элемент выбран, а чтобы определить, выбран ли

какой-либо элемент, используется значение свойства S e le c te d .

Значение свойства S e lC o u n t

позволяет узнать, сколько элемен­

тов выбрано.

 

 

 

При выборе

элемента в

списке происходит

событие Оп-

C lic k .

 

 

 

 

Вопросы для самоконтроля

 

1. Приведите

примеры

использования

компонентов

T L is tB o x и ТСошЬоВох в известных приложения Windows.

2.Основные свойства компонента T L istB o x .

3.Основные свойства компонента ТСошЬоВох.

4. Основное отличие компонентов ТСошЬоВох

и T ListB ox.

5. Когда возникает событие OnChange

компонента

ТСошЬоВох, и в каких случаях это событие обычно используется?

4.6.5. Панели

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

зуя совместную работу своих дочерних компонентов, например для организации работы группы радионопок. Использование ком­ понента T G roupB ox рассматривалось нами в примере для компо­ нента T R a d io B u tto n .

Ниже рассматривается пример использования компонента

T P ane 1 для создания панели инструментов на примере текстового редактора (глава 3).

Пример 4.10

-Откройте в C++Builder текстовый редактор, разработанный в главе 3.

-П оместите на форму компонент T B ev e l (страница

A d d itio n a l) .

- Установите для свойства H e ig h t значение 2.

-Измените значение свойства A lig n на A lT op . Линия рас­ положится вдоль верхнего края рабочей области формы.

-П оместите на форму компонент T P ane 1, назовите его

S p e e d B a r и очистите свойство C a p tio n . Этот компонент будет служить контейнером для кнопок быстрого доступа.

-

Установите для свойства H e ig h t значение 32.

-

Измените значение свойства B e v e lO u te r на bvN one.

-Измените значение свойства A lig n на A lT op. Панель пе­

реместится вверх, но расположится ниже линии, которую мы по­ местили туда раньше.

- Поместите на панель (не в форму) компонент

T S p e e d B u tto n и назовите его s b F ile N e w . Не беспокойтесь о ее точном расположении.

- Установите значение L e f t равным 5.

- Выберите

из

контекстного меню для компонента

T S p e e d B u tto n

команду P o s i t i o n - > A l i g n

- Отцентрируйте по вертикали кнопку на панели инструмен­ тов (рис. 4.25).

5.Создайте приложение, в котором используются компонен­ ты T R a d io B u tto n .

6.Создайте приложение, в котором используется компонент

T R a d io G ro u p .

7. Напишите программу с использованием компонента ТСошЬоВох, которая изменяет свойство A lig n компонента

ТМешо во время выполнения приложения.

8.Напишите программу, которая формирует список для ком­ понента ТСошЬоВох во время выполнения приложения с исполь­ зованием методов класса T S t r in g s .

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

ТСошЬоВох.

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

T L istB o x .