Страница 21 из 59 Компонент 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 это свойство описано, но не реализовано (не играет роли). |