![]() |
overlay von treenode images
Hallo,
ich weise den Nodes per imageindex und selectedidex ein Index aus einer ImageList zu, jeweils für den bestimmten Knotentyp. Ich möchte Klone von einigen Knoten erstellen und dieses im TreeView darstellen, so dass es aussieht wie bei Windows der Pfeil bei Verknüpfungen. D.h. zum Image soll ZUSÄTZLICH dieser Pfeil angezeigt werden. Jetzt will ich aber nicht weitere Bilder in der Imagelist haben. Wie kann ich direkt das Image des Knotens zuweisen ohne über Imageindex etc. zu gehen? grüße [edit=Sharky]Ich habe den Titel des Threads, auf wunscht des Fragestellers, von "Wie komme ich an das TTreeNode Image?" nach "overlay von treenode images" geändrt. Mfg, Sharky[/edit] |
Re: Wie komme ich an das TTreeNode Image?
Hi,
Du musst dann dein Knoten selber zeichnen. Grüße, Dimo |
Re: Wie komme ich an das TTreeNode Image?
Zitat:
gearde erst angemeldet und schon eine frage beantwort - super :thumb: ergänzend zu deiner antwort: selbst zeichnen und dann die TImageList.Draw() aufrufen, um ein Image auf den Canvas des TreeView zu zeichnen. sollte recht einfach sein. aenogym |
Re: Wie komme ich an das TTreeNode Image?
Hallo,
Zitat:
Dieses eine Bild kannst Du dann bei Bedarf als Overlay über alle anderen legen. Erstell mal ein neues Projekt mit einem Treeview, einer ImageList und einen Button. - im Treeview drei Einträge im OI-Editor erstellen - der ImageList weist Du 3 Bilder zu.
- den folgenden Code in OnClick des Buttons einfügen
Delphi-Quellcode:
- testen und :-D
//Item 0
TreeView1.Items[0].StateIndex := 1; TreeView1.Items[0].ImageIndex := 0; //Item 1 TreeView1.Items[1].StateIndex := 1; ImageList1.Overlay(2, 0); TreeView1.Items[1].OverlayIndex := 0; //Item 2 TreeView1.Items[2].StateIndex := 1; TreeView1.Items[2].ImageIndex := 0; |
Re: Wie komme ich an das TTreeNode Image?
Ähh. Was macht das Overlay(2,0). Meines erachtens reicht es doch, wenn du OverlayIndex auf 2 setzt. Den Rest macht die Treeview alleine.
|
Re: Wie komme ich an das TTreeNode Image?
Hallo,
Zitat:
erst dann hat das setzen von OverlayIndex auf 2 eine Auswirkung im Treeview. Ist zumindest bei Delphi 3 so, ist es in neueren Delphi-Version anders? |
Re: Wie komme ich an das TTreeNode Image?
@lannes
danke erstmal werde es ausprobieren klingt gut! :thumb: |
Re: Wie komme ich an das TTreeNode Image?
also das funktioniert! danke nochmals!
ich fasse mal zusammen.... man muss aber die overlaymaske nur einmal definieren! dabei kann man vier stück definieren! (0..3) man muss aber nicht ! 1. maske: ImageList1.Overlay(OverlayImageIndex, 0); 2. maske: ImageList1.Overlay(OverlayImageIndex1, 1); 3. maske: ImageList1.Overlay(OverlayImageIndex2, 2); 4. maske: ImageList1.Overlay(OverlayImageIndex3, 3); und dann kann man z.b. die maske (overlay) über das node-image legen... treenode.OverlayIndex := 0; // für maske 1 oder treenode.OverlayIndex := 2; // für maske 3 zum löschen des Overlays aus dem image des nodes: treenode.OverlayIndex := -1; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz