AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

overlay von treenode images

Ein Thema von ibp · begonnen am 28. Okt 2005 · letzter Beitrag vom 1. Nov 2005
Antwort Antwort
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#1

overlay von treenode images

  Alt 28. Okt 2005, 11:32
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]
  Mit Zitat antworten Zitat
dimo

Registriert seit: 28. Okt 2005
22 Beiträge
 
#2

Re: Wie komme ich an das TTreeNode Image?

  Alt 28. Okt 2005, 11:43
Hi,

Du musst dann dein Knoten selber zeichnen.

Grüße,
Dimo
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Wie komme ich an das TTreeNode Image?

  Alt 28. Okt 2005, 11:51
Zitat von dimo:
Hi,

Du musst dann dein Knoten selber zeichnen.

Grüße,
Dimo
hallo und herzlich willkommen in der DP, dimo!
gearde erst angemeldet und schon eine frage beantwort - super

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
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#4

Re: Wie komme ich an das TTreeNode Image?

  Alt 28. Okt 2005, 12:36
Hallo,
Zitat von ibp:
...Jetzt will ich aber nicht weitere Bilder in der Imagelist haben....
darf es den wenigstens ein Bild sein?
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.
  • Bild 0 für ImageIndex
    Bild 1 für StateIndex
    Bild 2 für OverlayIndex (Dein Verknüpfungspfeil)
- die ImageList den TreeView-Eigenschaften Images und StateImages zuweisen
- den folgenden Code in OnClick des Buttons einfügen
Delphi-Quellcode:
//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;
- testen und
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#5

Re: Wie komme ich an das TTreeNode Image?

  Alt 28. Okt 2005, 12:40
Ähh. Was macht das Overlay(2,0). Meines erachtens reicht es doch, wenn du OverlayIndex auf 2 setzt. Den Rest macht die Treeview alleine.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#6

Re: Wie komme ich an das TTreeNode Image?

  Alt 28. Okt 2005, 12:52
Hallo,
Zitat von jim_raynor:
Ähh. Was macht das Overlay(2,0). Meines erachtens reicht es doch, wenn du OverlayIndex auf 2 setzt. Den Rest macht die Treeview alleine.
Overlay(2,0) weist dem Bild mit dem Index 0 das Bild mit dem Index 2 als Overlay zu.
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?
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#7

Re: Wie komme ich an das TTreeNode Image?

  Alt 28. Okt 2005, 13:25
@lannes

danke erstmal werde es ausprobieren klingt gut!
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#8

Re: Wie komme ich an das TTreeNode Image?

  Alt 1. Nov 2005, 12:04
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz