Составители:
Рубрика:
38
или переменную (IbOwnerDrawVariable) высоту элемента. В первом случае нужно задать свойство:
(Pb) property ItemHeight: Integer;
Для стиля IbOwnerDrawVariable высота каждого элемента определяется программистом, ко-
торьш должен предусмотреть обработку события:
(Pb) property OnMeasureItem: TMeasureItemEvent;
TMeasureItemEvent = procedure(ListBox: TListBox; Index:
Integer; var Height: Integer) of object;
Имея указатель на список, индекс измеряемого элемента и начальную высоту, необходимо пе-
реустановить Height так, чтобы в элементе поместилось все, что нужно в нем нарисовать.
Для рисования каждого
элемента инициируется событие:
(Pb) property OnDrawItem: TDrawItemEvent;
TDrawItemEVent = procedure(ListBox: TListBox; Index: Integer;
Rect: TRect; State: TOwnerDrawState) of object;
Обработчик этого события получает указатель на список ListBox, индекс элемента Index, отве-
денньш для рисования прямоугольник Rect, и состояние элемента в параметре State:
TOwnerDrawState = set of (odSelected, odGrayed, odDisabled,
odChecked, odFocused) ;
Для списка выбора из этого множества действительны только флаги odSelected, odDisabled,
odFocused.
Компонент 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;
или переменную (IbOwnerDrawVariable) высоту элемента. В первом случае нужно задать свойство: (Pb) property ItemHeight: Integer; Для стиля IbOwnerDrawVariable высота каждого элемента определяется программистом, ко- торьш должен предусмотреть обработку события: (Pb) property OnMeasureItem: TMeasureItemEvent; TMeasureItemEvent = procedure(ListBox: TListBox; Index: Integer; var Height: Integer) of object; Имея указатель на список, индекс измеряемого элемента и начальную высоту, необходимо пе- реустановить Height так, чтобы в элементе поместилось все, что нужно в нем нарисовать. Для рисования каждого элемента инициируется событие: (Pb) property OnDrawItem: TDrawItemEvent; TDrawItemEVent = procedure(ListBox: TListBox; Index: Integer; Rect: TRect; State: TOwnerDrawState) of object; Обработчик этого события получает указатель на список ListBox, индекс элемента Index, отве- денньш для рисования прямоугольник Rect, и состояние элемента в параметре State: TOwnerDrawState = set of (odSelected, odGrayed, odDisabled, odChecked, odFocused) ; Для списка выбора из этого множества действительны только флаги odSelected, odDisabled, odFocused. Компонент 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; 38
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »