![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#6 |
Master
![]() Registriert seit: 22.03.2000
Beiträge: 506
|
![]() Erstmal danke für die Antwort!
Ich muss gestehen, dass ich eher ein VBA Anfänger bin. Was ist eigentlich eine solche Command Funktion? Meiner Meinung nach eine Funktion, die nach einem Ereignis ausgeführt wird oder? Aber wie "teile" ich der Funktion mit, dass es Aktionen bei Klicks auf Elemente meines TreeView Objektes ausführen soll. So wie ich das bis jetzt verstanden habe anhand des Index des Elementes. Mein Testcode sieht mal folgendermassen aus ... Private Sub Form_Load() Dim nodX As Node Set nodX = Me!xTree.Nodes.Add(, , "P1", "Parent1") nodX.Expanded = False Set nodX = Me!xTree.Nodes.Add(, , "P2", "Parent2") nodX.Expanded = False Set nodX = Me!xTree.Nodes.Add("P1", tvwChild, "C1", "Child 1") Set nodX = Me!xTree.Nodes.Add("P1", tvwChild, "C2", "Child 2") Set nodX = Me!xTree.Nodes.Add("P1", tvwChild, "C3", "Child 3") Set nodX = Me!xTree.Nodes.Add("P2", tvwChild, "C4", "Child 4") Set nodX = Me!xTree.Nodes.Add("P2", tvwChild, "C5", "Child 5") Set nodX = Me!xTree.Nodes.Add("P2", tvwChild, "C6", "Child 6") Set nodX = Me!xTree.Nodes.Add("C1", tvwChild, "D1", "Versuch") nodX.EnsureVisible End Sub Damit wird das TreeView Element mal mit Werten gefüttert und angezeigt, funktioniert schon mal recht gut. Später werde ich das TreeView Element höchstwahrscheinlich mit einem Recordset füllen, aber das ist jetzt mal nebensächlich. ![]() Sicher eine (sau)blöde Frage, aber Wie weiss eigentlich die Command Funktion dass sie ausgeführt werden muss, wenn ich auf ein Element des TreeView Objektes klicke? Oder ist das eine Funktion die bei jedem Klick im Formular ausgeführt wird? Fehlt bei der Funtion On_Load noch etwas? Muss ich dort vielleicht eine Funktion aufrufen, die ständig überwacht was geklickt wird oder ähnliches? Wenn ich mich jetzt z.B. auf das Click Ereignis beziehe und eine Funktion "Private Sub xTree_Click(index As Integer)" schreibe, bekomme ich eine Fehlermeldung. ======================================= "Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck bei Laden eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen. * Der Ausdruck gibt möglicherweise weder den Namen eines Makros noch den Namen einer benutzerdefinierten Funktion, noch [Ereignisprozedur] zurück. * Beim Auswerten einer Funktion, eines Ereignisses oder eines Makros trat möglicherweise ein Fehler auf ======================================= Diese Meldung bekomme ich, logischerweise, bei jedem Click auf das Objekt. Vielleicht liegt es daran, dass es für das TreeView Objekt, zumindest bei den Eigenschaften in der Entwurfsansicht, kein Klick-Event gibt.(?) Die einzigen Eigenschaften die es bei dem Element gibt sind: - Bei OLE Aktualisierung - Beim Hingehen - Beim Verlassen - Bei Fokuserhalt - Bei Fokusverlust Mit denen kann ich aber nicht wirklich viel anfangen, weil ich mich auf ein Element IM Tree und nicht auf das ganze Objekt beziehen möchte. Mir stehen 2 TreeView Objekte in unterschiedlichen Versionen zur Verfügung. 1. Microsoft TreeView Control, Version 5.0 (SP2) 2. Microsoft TreeView Control, Version 6.0 Ich schätze mal, dass ich da eine falsche Denkweise habe, aber das dürfte an meiner recht mangelhaften Erfahrung mit VB liegen. ![]() Am einfachsten, zumindest für mich, wäre natürlich eine Lösung so nach dem Motto, je nach Indexnummer (Referenz) wird Aktion 1, oder Aktion 2 oder Aktion 3 ausgeführt. Beispiel: Syntax: nodename, definition ob root parent oder child, funktion oder makro das bei klick ausgeführt wird .... Aber das ist leider ziemlich sicher nur ein Wunschdenken von mir ![]() ![]() Naja, wie auch immer, wenn mir wer in einem konkreten Beispiel kurz erläutern könnte wie ich eine Aktion (bei einem Klick auf eine Node im TreeView-Objekt) starten könnte, und es auch noch schafft, dass ich es verstehe ![]() ![]() Möchte mich für meine mangelnden VBA Kenntnisse entschuldigen! Andy Happy Posting |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|