Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TTreeView mit CheckBox


Bergmann89 - Sa 23.05.09 01:32
Titel: TTreeView mit CheckBox
Hi,

ich such n TreeView kombinert mit ner Checkox, so das jedes Item nochma ne eigene CheckBox hat.
Ähnlich wie bei der TCheckListBox. Gibts sowas schon? Wenn ja wo? Bzw. wie heißt das Ding?
Und es wäre auch toll wenn es so n ähnliches Design wie der TShelTreeView hat, weil ich damit Ordner darstellen möchte...
Schonma Danke für die Hilfe...

Mfg Bergman.


jaenicke - Sa 23.05.09 02:10

Diese Komponente heißt TTreeView. :mrgreen:
Allerdings musst du in den Optionen auch toCheckSupport oder so ähnlich auf True setzen. ;-)


Bergmann89 - Sa 23.05.09 14:20

Hi,

ich hab den Objektinspektor jetzt vlt schon das 10 ma durchgeblättert, aber ich kann nix finden was irgendwas mit Checked zu tun hat...
Ich hab aber ne andere Idee, ich hab mir jetzt einfach ne ImageList gemacht, in der ich einma n Hacken und einma n Kreuz hab und dann mach ich das einfach über die ImageIndexe. So sollte das ja eig. auch gehen...

MfG Bergmann.


jaenicke - Sa 23.05.09 20:30

:oops:
Ja, du hast Recht. Da merke ich wie lange ich schon nicht mehr mit der Originaltreeview gearbeitet habe. Die ist mir einfach zu unbequem und langsam.
Gehen tut es damit aber:
http://delphi.about.com/od/vclusing/l/aa092104a.htm

Einzige Verbesserung gegenüber diesem Beispiel:
Mit SetWindowLong musst du keine eigene Komponente ableiten und kannst eine bestehende TreeView entsprechend ändern:

Delphi-Quelltext
1:
2:
3:
4:
5:
const
  TVS_CHECKBOXES = $0100;
begin
  SetWindowLong(TreeView1.Handle, GWL_STYLE,
    GetWindowLong(TreeView1.Handle, GWL_STYLE) or TVS_CHECKBOXES);


Steku - Sa 23.05.09 20:38

Oder einfach die Jedi VCL installieren. Da
gibt es ein JvCheckTreeView... :-)

Gruß
Steku


Martok - Sa 23.05.09 20:53

... oder TreeNT [http://www.soft-gems.net/index.php?option=com_content&task=view&id=20&Itemid=33] verwenden. Der Herr Lischke hat nämlich auch schon vor VirtualTreeView tolle Sachen gemacht ;)