Как програмно да накарате списък да отпадне във ValueListEditor e

ValueListEditor"e използва списъци с възможни стойности (ItemProps[row].EditStyle = esPickList, като вградения Combobox като в Object Inspector на Delphi).

Как мога да накарам падащия списък да се показва автоматично, когато мишката щракне в клетка?

Не, OnGetPickList вече е следствие, където можете да попълните падащия списък с низове и обекти. И бих искал самият списък да се показва, когато щракнете върху клетката до бутона за падащ списък. Може би трябва да се изпрати някакво съобщение до този компонент?

Не, OnGetPickList вече е следствие, където можете да попълните падащия списък с низове и обекти. И бих искал самият списък да се показва, когато мишката бъде натисната в клетката до бутона за падащ списък. Може би трябва да се изпрати някакво съобщение до този компонент?

Прочетете сертификата, преди да кажете нещо

Мисля, че има някакво недоразумение:

тип TGetPickListEvent = процедура (Подател: TObject; const KeyName: String; Стойности: TStrings) на обект;

свойство OnGetPickList: TGetPickListEvent;

"Случва се, когато се щракне върху бутон за разширяване (. ) на списък с възможни стойности. Параметърът KeyName съдържа името на реда, върху който е щракнато. Манипулаторът трябва да попълни списъка със стойности с възможни стойности. Свойството ItemProps.EditStyle трябва да съдържа стойността esPickList."

И искам да постигна, че веднага щом клетката, съдържаща списъка, получи фокус (щракване с левия бутон на мишката в клетката до (!) до бутона за разширяване на списъка), същият този списък незабавно отпада, както се прави в Combobox "e:

MyComboBox.DroppedDown := True; Или: MyComboBox.Perform(CB_SHOWDROPDOWN, True, 0);

Ето един пъзел, върху който да помислите: Има такава функция във ValueListEditor"a функция GetPickList(Values: TStrings;ClearFirst: Boolean = True): Boolean; но е в секциятазащитен! Ако можете да го получите - ДОБРЕ - използвайте ObjectInspector, ако не можете - използвайте ObjectInspector.:))))

аа. съжалявам сега разбрах. трябва да видите

тип TMyVL = клас(TValueListEditor); TMyIEL = клас(TInplaceEditList);

процедура onXXXX begin // проверява TMyIEL(TMyVL(ValueListEditor1).InplaceEditor).DropDown; end;

MU: Как да използвам InplaceEditor за конкретна клетка? Предложеният код виси.