Как програмно да накарате списък да отпадне във 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 за конкретна клетка? Предложеният код виси.