Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
70
Добавлен:
27.03.2015
Размер:
379.39 Кб
Скачать

Компонент CheckBox

Компонент CheckBox располагается на вкладке Standard:

Этот компонент играет роль флажка и предназначен для включения/выключения некоторого параметра. Для него основное свойство - это State. Именно оно и отвечает за внешний вид нашего CheckBox'а. Это свойство может принимать одно из трех значений: cbChecked (галочка стоит), cbUnchecked (галочка не стоит) и cbGrayed (CheckBox находится в неопределенном состоянии).

Обратите внимение, что у CheckBox'а может быть именно три состояния. Третье состояние CheckBox может иметь, например, при показе стиля выделенного текста в некотором текстовом редакторе - если часть текста, например, подчеркнута, а часть нет, то логично, чтобы CheckBox имел стиль cbGrayed. Вот так будет выглядеть CheckBox с состоянием cbGrayed:

Если щелкать на компоненте, то он будет менять два своих состояния (с галочкой и без). Если же мы хотим, чтобы при щелчке он циклически менял три своих состояния, то необходимо установить его свойство AllowGrayedв true.

Состояние компонента можно получить через его свойство Checkedлогического типа. Если оно равно true, то TCheckBox отмечен, если false - то не отмечен.

За надпись, расположенную рядом с квадратиком, отвечает свойство Caption.

Основное событие для компонента CheckBox - это OnClick. Оно, естественно, возникает при щелчке. Для добавления заготовки обработчика для этого события достаточно просто сделать на CheckBox'е двойной щелчок. Вот так, например, можно в заголовок формы вывести информацию о состоянии CheckBox'а:

void __fastcall TForm1::CheckBox1Click(TObject *Sender)

{

if(CheckBox1->Checked) Form1->Caption="Включено";

else Form1->Caption="Выключено";

}

Компонент RadioGroup

Компонент RadioGroupрасположен на вкладкеStandard:

Этот компонент позволяет выбрать один вариант из нескольких. Список выбора создается в редакторе свойства Items, где текст каждой строки будет названием пункта:

Если также задать пункт, выбранный по умолчанию (свойство ItemIndex= 0), и названиеCaption– «Вариант», то на форме это будет выглядеть так:

Теперь можно в любом месте программы проверять, в каком положении находится

переключатель, и выполнять разные группы операторов :

switch(RadioGroup1->ItemIndex)

{

case 0: <действия-1> ; break;

case 1: <действия-2> ; break;

case 2: <действия-3> ; break;

}

Здесь мы не используем метод компонента OnClick(), хотя выбор действий можно выполнить и в этом обработчике.

Класс tStringList

Класс TStringList предназначен для хранения набора строк и является невизуальным. Он является непосредственным потомком классаTStrings и наследует все методы и свойства своего родителя.

В отличие от своего родителя, класс TStringList позволяет создавать свои экземпляры.

Кроме того, этот класс имеет собственные свойства и методы, самые важные из которых перечислены ниже:

Свойство Sortedлогического типа. Если установлено в true, то список автоматически сортируется, если false, то не сортируется. Пример использования:

TStringList *s=new TStringList;

s->Sorted=true;

s->Add("Роман");

s->Add("Вася");

s->Add("Петя");

ListBox1->Items->AddStrings(s); // Показываем сортированный список

delete s; // Удаляем объект

Свойство Duplicates. Свойство перечисляемого типа, если установлено в dupIgnore, то добавить повторяющуюся стороку нельзя (но при этом старые повторяющиеся строки сохраняются), dupAccept - можно добавлять повторяющиеся строки, dupError - при попытке добавить повторяющуюся строку генерируется ошибка EStringListError. Это свойство игнорируется, если список не отсортирован.

Свойство CaseSensitive. Свойство логического типа, определяющее, учитывается ли при сортировке регистр (true - учитывается, false - не учитывается).

Метод Sort. Также сортирует список:

TStringList *s=new TStringList;

s->Add("Роман");

s->Add("Вася");

s->Add("Петя");

s->Sort();

ListBox1->Items->AddStrings(s); // Показываем сортированный список

delete s; // Удаляем объект