Як програмно змусити випасти список у ValueListEditor e
У ValueListEditor"e використовуються списки можливих значень (ItemProps[row]. EditStyle = esPickList, типу вбудованого Combobox як у Object Inspector Delphi).
Як зробити щоб при клацанні ЛК миші в комірці, автоматично випав її спадний список?
Ні, OnGetPickList це вже наслідок, де можна набити випадаючий список рядками і об'єктами. Може якесь повідомлення треба надіслати цьому компоненту?
Ні, OnGetPickList це вже наслідок, де можна набити випадаючий список рядками і об'єктами. Може якесь повідомлення треба надіслати цьому компоненту?
Ти довідку почитай перш ніж заявляти щось
На мою виникло якесь непорозуміння:
type TGetPickListEvent = procedure (Sender: TObject; const KeyName: String; Values: TStrings) of object;
property OnGetPickList: TGetPickListEvent;
"Виникає при натисканні кнопки розкриття (. ) списку можливих значень. Параметр KeyName містить ім'я рядка, в якому зроблено клацання. Обробник повинен заповнити можливими значеннями список Values. Властивість ItemProps. EditStyle має містити значення esPickList".
А я хочу домогтися щоб як тільки осередок містить список отримала фокус (клацання ЛК миші в осередку поряд (!) з кнопкою розкриття списку) - відразу випав цей список як це робиться в Combobox"e:
MyComboBox.DroppedDown := True; Або: MyComboBox.Perform(CB_SHOWDROPDOWN, True, 0);
Ось тобі завдання на роздум: Є така функція у ValueListEditor"a function GetPickList(Values: TStrings;ClearFirst: Boolean = True): Boolean; але знаходиться вона уprotectedсекції! Зможеш її дістати - МОЛОДЕЦЬ - і використовуй ObjectInspector, а не зможеш - використовуй ObjectInspector.:))))
аа. прошу пробачення. тепер зрозумів. треба подивитися
type TMyVL = class(TValueListEditor); TMyIEL = class(TInplaceEditList);
procedure onXXXX begin // перевірки TMyIEL(TMyVL(ValueListEditor1).InplaceEditor).DropDown; end;
MU: Як використовувати InplaceEditor для якогось конкретного осередку? Пропонований код висне.