TValueListEditor a TButtonedEdit

vložil Radek Červinka 16. března 2011 00:16

Součástí novějších Delphi jsou i dvě méně známé, ale zajímavé komponenty: TValueListEditor a TButtonedEdit. První slouží k zadávání nebo editaci dvojice klíč a hodnota, druhá komponenta je TEdit s volitelnou možností až dvou tlačítek (vpravo a vlevo).

TValueListEditor

Zvláště první je celkem zajímavá. Takto vypadají obě dvě v design módu.

TValueListEditor

U TValueListEditor lze nastavit chování (tj. povolit editaci atd, názvy sloupců, styl kreslení…). Kromě toho lze provádět vlastní kreslení buňky přes OnDrawCell, což se někdy taky hodí.

TValueListEditor

Pokud tedy TButtonedEdit přiřadíme imagelist a nastavíme viditelnost a vlastnosti tlačítek přes property LeftButton a RightButton, můžeme napsat nejprimitivnější přidávání řádků (obsluha pravého tlačítka TButtonedEdit).

procedure TForm1.btn1RightButtonClick(Sender: TObject);
begin
  lstValueListEditor.InsertRow(btn1.Text, IntToStr(Random(10)), True);
end;

Takto editujeme libovolný text. Což opět nemusí být to pravé ořechové. Naštěstí máme i větší možnosti.

TValueListEditor

    1procedure TForm1.FormCreate(Sender: TObject);
    2begin
    3  lstValueListEditor.InsertRow('Text Položka', '', True);
    4
    5  lstValueListEditor.InsertRow('Klíč combo', 'val1', True);
    6  with lstValueListEditor.ItemProps[1] do
    7  begin
    8    EditStyle := esPickList;
    9    PickList.CommaText := 'val1,val2,val3';
   10  end;
   11  lstValueListEditor.InsertRow('Klíč tlačítko', 'hodnota', True);
   12  with lstValueListEditor.ItemProps[2] do
   13  begin
   14    EditStyle := esEllipsis;
   15  end;
   16end;

První řádek je libovolný text, druhý je výběr z možností přes seznam a třetí je tlačítko. V třetím případě je obsluha tlačítka přes OnEditButtonClick.

TValueListEditor


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy: , ,

Komponenty

Komentáře

10.8.2011 15:03:36 #

JaroB

TValueListEditor by jistě už i v Delphi 7 ale TButtonedEdit není ani v Delphi 2007, sle je jistě v Delphi 2010 a vyšší, takže už možná od Delphi 2009.

JaroB

Komentování ukončeno

Naše nabídka

Partial English version.

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Anketa

Poslední komentáře

Comment RSS