Справочник по компонентам Delphi. Часть 2
Страница 21. Компонент TComboBox


Компонент TComboBox

TObject—>TPersistent->TComponent—”TControl—”TWinControl—>
—>TCustomCornboBox—>TComboBox
Модуль STDCTRLS
Страница Палитры компонентов Standard

Этот стандартный элемент управления Windows — комбинированный список -— имеет много общего с TListBox. Он состоит из собственно списка и помещен­ного рядом поля ввода редактирующего элемента. Таким образом, пользова­тель может выбрать одно из готовых значений какой-то величины или ввести свое. Стиль компонента в части правил взаимного сочетания списка и редак­тора определяется свойством:

(РЁ) property Style: TComboBoxStyle;

TComboBoxStyle = (csDropDown, csSimple, csDropDownList,

csOwnerDrawPixed, csOv'nerDrawVariable) ;

Его значения имеют следующий смысл:

csSimple — весь список виден все время. Текущий выбор отображается в редакторе, его можно изменить;

csDropDown — список открывается (выпадает) и скрывается при нажатии кнопки, расположенной справа от текста. Такой список будем называть вьша дающим;

csDropDownList —список вьшадающий, но редактирующий элемент заме­нен статическим текстом и вводить свои данные пользователь не может;

csOwnerDrawFixed — определяемьш пользователем стиль списка с по­стоянной высотой элемента;

csOwnerDrawVariable — определяемьш пользователем стиль списка с пере­менной высотой элемента.

Принципы пользовательской отрисовки списка для csOwnerDrawFixed и csOwnerDrawVariable, а также связанные с этим методы и события остались такими же, как в TListBox. По умолчанию устанавливается сталь csDropDown.

Организация списка также сходна с предыдущей. Приведенные свойства и методы имеют то же назначение:

(Pb) property Items: TStrings;
property Itemlndex: Integer;
procedure Clear;
(Pb) property Sorted: Boolean;
(RcS) property Canvas: TCanvas;

Текст, содержащийся в редактирующем элементе списка, доступен через свой­ство:

(р5) property Text: TCaption;

Его максимальная длина ограничена числом символов, равным значению свой­ства:

(Р1э) property MaxLength: Integer;

Если MaxLength равно 0, то ограничений на длину строки нет (до 255 сим­волов).

При изменеюш текста (а также при смене выбранного элемента) возникает событие OnChange.

Часть текста может быть выделена. Три свойства содержат выделенный текст, его положение и длину:

property SelText: strings-property SelStart: Integers-property SelLength: Integer;

Метод

procedure SelectAll;

выделяет весь текст. Значение свойства

property DroppedDown: Boolean;

соответствует состоянию списка: True соответствует открытому ("выпавшему") списку. С его помощью можно показывать или скрывать список из программы. При изменении состояния списка возникает событие:

(Р}з\ property OnDropDown: TNotifyEvent ;

Максимальное число элементов, которые показываются при выпадении списка:

(Pb) property DropDownCount: integer;

По умолчанию оно равно 8. В первой версии VCL это свойство описано, но не реализовано (не играет роли).

 
« Предыдущая статья   Следующая статья »