Hi!
| Zitat: |
| Also ich hab ein ähnliches Problem, oder sogar das gleiche |
Hm, ich glaube nicht, aber mal sehen.
Leider komme ich mit deinem Code nicht ganz klar.
Egal, ich stelle mal einfach meine "Erkenntnisse" dar, die sich durch die Antwort von Sprint (Danke nochmal; manchmal ist man einfach zu doof, um die Hilfe *RICHTIG* zu benutzen...

) ergeben haben:
Beispielprojekt:
- neu anlegen, TreeView, ImageList und Button erstellen
- min. 2 Bilder in die ImageList einfügen (optimalerweise sollte das 2. Bild nicht formatfüllend sein!)
- die ImageList als Images-Eigenschaft des TreeView festlegen
- min. einen Node im TreeView anlegen (nur Text eintragen, Rest auf Vorgabe belassen)
Hier der Code dazu:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.FormCreate(Sender: TObject); begin if (NOT ImageList1.Overlay(1,0)) then ShowMessage('Kann Overlay nicht erzeugen!?'); end;
procedure TForm1.Button1Click(Sender: TObject); begin if (Assigned(TreeView1.Selected)) then if (TreeView1.Selected.OverlayIndex = -1) then TreeView1.Selected.OverlayIndex := 0 else TreeView1.Selected.OverlayIndex := -1; end; |
Erläuterung dazu: Im OnCreate-Handler wird dem 2. Bild in der ImageList (Index 1) der OverlayIndex "0" zugewiesen oder eine Fehlermeldung erzeugt (siehe Hilfe). Bei jedem Klick auf den Button wird nun der OverlayIndex des markierten Nodes zwischen -1 und 0 hin und her geschaltet, worauf sich das Overlay über das Bild des Nodes legt bzw. wieder entfernt.
Generelle Einschränkung beachten: max. 4 Overlays pro ImageList!
| Zitat: |
| Damit es sich transparent drüber legen kann, so wie es in der Hilfe steht, muss es doch transparente Pixel geben. Gibt es in nem Graustufen-BMP doch aber gar nicht. |
Ja, stimmt, ein Graustufen (oder auch Paletten-)Bild hat natürlich eigentlich keine transparenten Pixel. Deshalb behilft man sich da mit einer "Farbe", die als "transparent" erklärt wird. Guck mal in die Eigenschaften eines Images, da gibt es TransparentColor und sowas, übrigens natürlich auch bei der ImageList.
Ich hoffe, ich konnte helfen oder doch zumindest aufklären.
cu
Narses