Treeview und Bild einsetzen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Spike1977
Beiträge: 15
Registriert: Mo 13. Nov 2023, 18:11

Treeview und Bild einsetzen

Beitrag von Spike1977 »

TreeView1:
Funktioniert das vielleicht irgend wie? (Siehe Bild)
Bild einsetzen und auch so speichern und laden können?
Dateianhänge
TreeViewAdressBild.png
TreeViewAdressBild.png (69.65 KiB) 580 mal betrachtet

wp_xyz
Beiträge: 4851
Registriert: Fr 8. Apr 2011, 09:01

Re: Treeview und Bild einsetzen

Beitrag von wp_xyz »

Ich glaube nicht, dass das geht, schon das einfache Einfärben von Text habe ich mit TTreeView nicht hinbekommen, obwohl es OnCustomDrawXXX Events gibt.

Aber versuch's mal mit VirtualTreeView (https://wiki.freepascal.org/VirtualTree ... or_Lazarus), das ist wesentlich flexibler als der LCL-TTreeView. Und der beigefügte Screenshot des VTV-Demo-Projekts im Ordner (lazarus)/examples/virtualtreeview/vst_advanced der Lazarus-Installation zeigt, dass es auch geht:
Dateianhänge
vtv_img.png
vtv_img.png (209.45 KiB) 565 mal betrachtet

Benutzeravatar
theo
Beiträge: 10454
Registriert: Mo 11. Sep 2006, 19:01

Re: Treeview und Bild einsetzen

Beitrag von theo »

Ich würde es auch mit VirtualTrees probieren.
Allerdings käme es mir nicht in den Sinn, für einen Kontakteintrag einen Treeview zu verwenden.

Spike1977
Beiträge: 15
Registriert: Mo 13. Nov 2023, 18:11

Re: Treeview und Bild einsetzen

Beitrag von Spike1977 »

Schade.
Na die VirtualTreeView habe ich nicht verstanden... War mir zu kompliziert denn da gibt es ja kein (z.B. Treeview.items.add)
da geht alles anders als einfach...
Habe es versucht und nicht einen colum oder überhaupt Eintrag rein bekommen...
Na gut schade

* theo
Das funktioniert super da kann man sich den Baum erstellen wie man will und nicht wie es der Programmierer vorgibt.

Benutzeravatar
theo
Beiträge: 10454
Registriert: Mo 11. Sep 2006, 19:01

Re: Treeview und Bild einsetzen

Beitrag von theo »

Tja, ist halt "virtual" und sehr mächtig.
Ein bisschen üben muss man schon damit.
https://wiki.freepascal.org/VirtualTree ... or_Lazarus

Spike1977
Beiträge: 15
Registriert: Mo 13. Nov 2023, 18:11

Re: Treeview und Bild einsetzen

Beitrag von Spike1977 »

Jetzt bin ich schon so weit...
Also wenn man in dieser VTV einen Path im Baum schreiben könnte
und der dann durch ein Bild ersetzt wird direkt im Baum und nicht also Tumb da neben (wie Beispiel DemoBild da oben)
dann wäre es interessannt.

Grüße
Zuletzt geändert von Spike1977 am Sa 18. Nov 2023, 20:30, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 4851
Registriert: Fr 8. Apr 2011, 09:01

Re: Treeview und Bild einsetzen

Beitrag von wp_xyz »

Sorry, wenn's nicht unbedingt sein muss, machen ich keine exe aus unbekannten Quellen auf. Hier geht es um Quellcode, also wenn wir dir helfen sollen, dann poste deinen Quellcode. Und bitte nur das, was zur Frage gehört, denn die meisten haben kleine Lust ein riesiges unbekannte Programm nur aus Freude am Helfen zu zerlegen.

Spike1977
Beiträge: 15
Registriert: Mo 13. Nov 2023, 18:11

Re: Treeview und Bild einsetzen

Beitrag von Spike1977 »

Ja ich versuchs mal ok.
is nur schade das es so nicht funktioniert
VirtualDrawTree.Header.Columns[0].Create(nil);
VirtualDrawTree.Header.Columns[0].Text:='huhu';
VirtualDrawTree.Header.Columns[0].Width:=200;

wp_xyz
Beiträge: 4851
Registriert: Fr 8. Apr 2011, 09:01

Re: Treeview und Bild einsetzen

Beitrag von wp_xyz »

Wir haben nicht behauptet, dass der Einstieg in VTV einfach ist.

Grundidee ist, dass die Daten nicht im Tree gespeichert sind, sondern irgendwo anders. Zum Beispiel als Array of Records für jeden Adressbuch-Eintrag. In den Nodes steht nur die Topologie des Netzes, also welche Nodes die Eltern und welche die Kinder sind, sowie wie jeder Node seine Daten in dem Adressbuch-Array findet.

Mehr will ich dazu jetzt auch nicht schreiben. Studiere das beigefügte Projekt, das - glaube ich - das macht, was du willst. Lies was du über VTV findest, es gibt ein paar recht gute Tutorials, z.B. auch https://documentation.help/VirtualTreev ... _html.html.
Dateianhänge
adressbuch_vtv.png
adressbuch_vtv.png (12.55 KiB) 459 mal betrachtet
Adressbuch_VirtualDrawTree.zip
(17.23 KiB) 19-mal heruntergeladen

Spike1977
Beiträge: 15
Registriert: Mo 13. Nov 2023, 18:11

Re: Treeview und Bild einsetzen

Beitrag von Spike1977 »

Oh ich sah das Bild und dachte es geht ja doch! :D
Aber dann habe ich gelesen hihi
Ja danke gut ich schau mir das jetzt mal in ruhe an.

Benutzeravatar
photor
Beiträge: 432
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Treeview und Bild einsetzen

Beitrag von photor »

Spike1977 hat geschrieben:
Sa 18. Nov 2023, 16:37
Schade.
Na die VirtualTreeView habe ich nicht verstanden... War mir zu kompliziert denn da gibt es ja kein (z.B. Treeview.items.add)
da geht alles anders als einfach...
Habe es versucht und nicht einen colum oder überhaupt Eintrag rein bekommen...
Na gut schade
Ein Ermutigung-Post: ich habe genau das am Anfang auch gedacht. Aber ich habe ein einfaches Programm geschrieben, dass z.B. eine INI-Datei liest und in eine Tree packt. Das habe ich einmal mit TTreeView und einmal mit VirtualTreeView gemacht.

Beides geht! VirtualTreeView ist an Anfang ein bisschen komplexer, aber (mit den Beispielen und einem Tutorial) auch zu schaffen (nachdem ich das mit TTreeView erstmal am laufen hatte und wusste, wo ich hinwollte!). Wichtigste Erkenntnis war, dass man für die ganzen Event-Funktionen am besten in Lazarus durch Doppelklick auf den Event ein Template erzeugt - dann sind schon mal alle Übergabeparameter "richtig" definiert (viele von denen braucht man oft nicht; der Compiler will sie aber haben).

Also: probier einfach mal!

PS: ich habe mich dann aber doch für TTreeView entschieden, weil ich die vielen Möglichkeiten des VirtualTreeView nicht brauche und weil das Ganze eigentlich in ein Delphi-Programm einbauen will (ich weiß, den VirtualTreeView gibt es auch da, aber als extra Package; besser ist da ohne).

Ciao,
Photor

wp_xyz
Beiträge: 4851
Registriert: Fr 8. Apr 2011, 09:01

Re: Treeview und Bild einsetzen

Beitrag von wp_xyz »

photor hat geschrieben:
So 19. Nov 2023, 15:21
PS: ich habe mich dann aber doch für TTreeView entschieden
Na gut, aber dann zeige später den Code, wie du TTreeView überredet hast, ein Bild in einem Node anzuzeigen. Für ein funktionsfähiges Beispiel wäre ich da schon lange dankbar.

Benutzeravatar
photor
Beiträge: 432
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Treeview und Bild einsetzen

Beitrag von photor »

wp_xyz hat geschrieben:
So 19. Nov 2023, 16:48
photor hat geschrieben:
So 19. Nov 2023, 15:21
PS: ich habe mich dann aber doch für TTreeView entschieden
Na gut, aber dann zeige später den Code, wie du TTreeView überredet hast, ein Bild in einem Node anzuzeigen. Für ein funktionsfähiges Beispiel wäre ich da schon lange dankbar.
Nee. Missverständnis! Keine Bilder in TTreeView! Das muss ich dich leider enttäuschen.

Ich wollte dem Vorredner nur Mut machen, sich an VirtualTreeView generell(!) heranzutrauen - der kann ja Bilder! Hatte das Gefühl, dass im VirtualTreeView als Ganzes zu kompliziert war.

Ciao,
Photor

Antworten