Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ImageIcon für eine Node einfügen

Forumthread: ImageIcon für eine Node einfügen

ImageIcon für eine Node einfügen
Lero
Hallo zusammen,
bin grad auf einen Userform unterwegs und zwar muß ich ein TreeView drauf einbauen mit verschiedenen Nodes..
So das Prob. ist daß die Nodes verschiede Sorten sind und ich soll zwichen denen unterscheiden und zwar mit einem Bild!Das bild habe ich schon als icon1.ico gespeichert aber ich weiß nicht wie das zu dem Node hinzufügen.
Hoffe ist meine Frage soweit klar!Kann mir bitte jemand von den Freaks hier weiterhelfen?Das wäre super;)
Der Code soeht einigermaßen so aus:
If tmp1.BaseName = "Node" Then
Global_ID = tmp1.parentNode.Attributes.getNamedItem("globalId").text
Global_ID_Node = tmp1.Attributes.getNamedItem("globalId").text
Contain_Node = tmp1.Attributes.getNamedItem("nodeId").text
Set nodx = TreeView1.Nodes.Add(Global_ID, tvwChild, Global_ID_Node, Contain_Node)
Set tmp1 = tmp1.childNodes.Item(0)
End If
'Wenn es ein Container ist dann anlegen
If tmp1.BaseName = "Container" Then
If Not tmp1.Attributes.getNamedItem("globalId") Is Nothing Then
Global_ID = tmp1.parentNode.Attributes.getNamedItem("globalId").text
Global_ID_Cont = tmp1.Attributes.getNamedItem("globalId").text
Contain = tmp1.Attributes.getNamedItem("id").text
Set nodx = TreeView1.Nodes.Add(Global_ID, tvwChild, Global_ID_Cont, Contain)
End If
End If
Danke
Lero
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ImageIcon für eine Node einfügen
04.11.2011 19:13:04
Nepumuk
Hallo,
du musst 1. ein ImageList-Control in dein Userform einfügen. Darin dein Icon. Dann per Code das TreeView mit der ImageList verbinden und beim Einfügen des Nodes den entsprechenden Index bzw. den Namen des Imagens angeben. Der erste Index ist dabei der geschlossene, der zweite der ausgeklappte Node. Eigentlich ganz einfach.
Gruß
Nepumuk
Anzeige
AW: ImageIcon für eine Node einfügen
07.11.2011 11:41:51
Lero
Danke Nepumuk, es hat geklappt;)
Lero
;
Anzeige
Anzeige

Infobox / Tutorial

ImageIcon für eine Node in Excel hinzufügen


Schritt-für-Schritt-Anleitung

Um ein ImageIcon für eine Node in einem TreeView in Excel VBA hinzuzufügen, folge diesen Schritten:

  1. ImageList-Control hinzufügen:

    • Öffne dein Userform in der VBA-Entwicklungsumgebung.
    • Füge ein ImageList-Steuerelement hinzu. Du findest es in der Toolbox.
  2. Bilder zum ImageList hinzufügen:

    • Klicke mit der rechten Maustaste auf das ImageList-Steuerelement und wähle „Eigenschaften“.
    • In den Eigenschaften kannst du dein icon1.ico hinzufügen. Setze die Indizes so, dass der erste Index das geschlossene und der zweite Index das geöffnete Bild darstellt.
  3. TreeView mit ImageList verbinden:

    • Setze die ImageList-Eigenschaft deines TreeView-Steuerelements auf das hinzugefügte ImageList.
  4. Nodes hinzufügen:

    • Verwende den folgenden VBA-Code, um Nodes hinzuzufügen:
If tmp1.BaseName = "Node" Then
    Global_ID = tmp1.parentNode.Attributes.getNamedItem("globalId").text
    Global_ID_Node = tmp1.Attributes.getNamedItem("globalId").text
    Contain_Node = tmp1.Attributes.getNamedItem("nodeId").text
    Set nodx = TreeView1.Nodes.Add(Global_ID, tvwChild, Global_ID_Node, Contain_Node, 1) ' 1 ist der Index für das Icon
End If
  1. Testen:
    • Starte dein Userform und überprüfe, ob die Nodes mit den entsprechenden Icons angezeigt werden.

Häufige Fehler und Lösungen

  • Fehler: Icons werden nicht angezeigt
    Lösung: Stelle sicher, dass das ImageList korrekt mit dem TreeView verbunden ist und dass die Indizes der Icons korrekt gesetzt sind.

  • Fehler: Laufzeitfehler beim Hinzufügen der Nodes
    Lösung: Überprüfe den Code auf typos oder falsche Indizes beim Hinzufügen der Nodes. Achte darauf, dass die Variablen korrekt initialisiert sind.


Alternative Methoden

Falls Du eine alternative Methode zur Anzeige von Icons in einem TreeView suchst, kannst Du auch die Icons direkt in den Knoten als Bitmap verwenden. Dies erfordert jedoch zusätzliche Programmierung und ist weniger flexibel als die Verwendung eines ImageList.


Praktische Beispiele

Hier ist ein einfaches Beispiel für das Hinzufügen von Nodes mit ImageIcons:

Dim node1 As Node
Set node1 = TreeView1.Nodes.Add(, , "Node1", "Mein erster Node", 0) ' 0 für geschlossenes Icon
Set node2 = TreeView1.Nodes.Add(node1, tvwChild, "Node2", "Mein zweiter Node", 1) ' 1 für geöffnetes Icon

In diesem Beispiel wird der erste Node mit dem geschlossenen Icon und der zweite Node mit dem geöffneten Icon angezeigt.


Tipps für Profis

  • Optimierung der Icons: Verwende einheitliche Icons für ähnliche Node-Typen, um die Benutzeroberfläche konsistent zu gestalten.
  • Verwendung von Tooltips: Füge Tooltips zu den Nodes hinzu, um den Benutzern zusätzliche Informationen zu geben.

FAQ: Häufige Fragen

1. Wie kann ich die Icons ändern, nachdem sie hinzugefügt wurden?
Du kannst die Image-Eigenschaft des Nodes auf einen anderen Index im ImageList setzen.

2. Ist es möglich, animierte Icons zu verwenden?
Standardmäßig unterstützt der TreeView keine animierten Icons. Du müsstest alternative Ansätze verwenden, um Animationen zu simulieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige