WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 18.01.2001, 13:11   #6
Andy020
Master
 
Registriert seit: 22.03.2000
Beiträge: 506


Beitrag

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 , bekommt den Orden "Unverhoffter Accessretter eines hoffnungslosen Falls" zugesprochen.

Möchte mich für meine mangelnden VBA Kenntnisse entschuldigen!

Andy

Happy Posting
Andy020 ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:47 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag