Delphi.cz

Český portál Delphi

TValueListEditor a TButtonedEdit

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

procedure TForm1.FormCreate(Sender: TObject);
begin
  lstValueListEditor.InsertRow('Text Položka', '', True);

  lstValueListEditor.InsertRow('Klíč combo', 'val1', True);
  with lstValueListEditor.ItemProps[1] do
  begin
    EditStyle := esPickList;
    PickList.CommaText := 'val1,val2,val3';
  end;
  lstValueListEditor.InsertRow('Klíč tlačítko', 'hodnota', True);
  with lstValueListEditor.ItemProps[2] do
  begin
    EditStyle := esEllipsis;
  end;
end;

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

Datum: 2011-03-15 23:16:00 Tagy: komponenty, začátečníci, VCL

Komponenty