Программирование в Delphi. Барков И.А - 38 стр.

UptoLike

Составители: 

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