TreeView aufgebohrt

Kontextmenüs hinzufügen

Prinzipiell müssen Sie nun nur noch das Kontextmenü erstellen und zum Steuerelement hinzufügen.Moment: Das Bauen der Kontextmenüs ist ja leicht, aber das TreeView-Steuerelement enthält ja gar keine Eigenschaft, mit der man ihm ein Kontextmenü zuweisen könnte! Und müsste nicht jeder Eintrag ein eigenes Kontextmenü haben? Nun, in der Tat würde die für die Access- Steuerelemente verfügbare Eigenschaft Kontextmenüleiste hier nicht weiterhelfen – ganz davon abgesehen, dass das TreeView-Steuerelement diese gar nicht zur Verfügung stellt. Dafür bietet das TreeView-Steuerelement aber Ereignisprozeduren, die etwa ein Mausklick auf das Steuerelement auslöst. Da müssen Sie ansetzen! Aber zunächst erstellen Sie die benötigten Kontextmenüs. Im Schnelldurchgang sieht das so aus:

  1. Rechtsklick auf eine Symbolleiste, Auswahl des Kontextmenüeintrags Anpassen.

  2. Dialog Anpassen, Registerseite Symbolleisten, Schaltfläche Neu, Name der Symbolleiste: TreeView_KeinEintrag.

  3. Dialog Anpassen: Klick auf die Schaltfläche Eigenschaften, Eigenschaft Typ für die neue Symbolleiste auf Popup ändern, Eigenschaftsfenster schließen

  4. Neues Popup-Menü anzeigen: Dialog Anpassen, Registerseite Symbolleisten, Eintrag Kontextmenü aktivieren – es erscheint eine Leiste mit allen Kontextmenüs.

  5. Dialog Anpassen, Registerseite Befehle, Kategorie Datei, Befehl Benutzerdefiniert als neuen Eintrag in das Kontextmenü ziehen (Bild 3).

  6. Rechtsklick auf den neuen Eintrag, Kontextmenü- Eintrag Eigenschaften auswählen, Beschriftung auf &Neue Kategorie anpassen, Bei Aktion auf =mnuNeueKategorie() einstellen.


Bild 3: Erzeugen eines Kontextmenüs.
Bild 3: Erzeugen eines Kontextmenüs.

Damit haben Sie das Kontextmenü für einen Klick in einen leeren Bereich des TreeView-Steuerelements erzeugt und die beim Betätigen dieses Eintrags auszuführende Routine angegeben. Um diese kümmern Sie sich später, genau wie um den Aufruf des Kontextmenüs.

Zunächst legen Sie die beiden übrigen Kontextmenüs nach dem obigen Schema an. BeimKlick auf einen Kategorie-Knoten soll Access das Kontextmenü TreeView_Kategorien anzeigen. Es enthält Einträge mit den folgenden Beschriftungen:

  • Kategorie &bearbeiten

  • Kategorie &löschen

  • &Neuen Artikel anlegen

Sie wundern sich, warum die Liste keine Funktionsaufrufe enthält? Nun, im Gegensatz zum ersten Kontextmenü steht hier noch nicht fest, für welches Kategorie-Element der Benutzer das Kontextmenü aufruft. Das ergibt sich erst beim Rechtsklick auf den jeweiligen Eintrag, und erst dann weist eine passende Routine dem Menüeintrag die auszuführende Aktion zu.

Das dritte Kontextmenü soll die Anwendung beim Rechtsklick auf ein Artikel-Element anzeigen. Es heißt TreeView_Artikel und enthält Einträge mit den folgenden Beschriftungen:

  • Artikel &bearbeiten

  • Artikel &löschen

Auch hier folgt das Zuweisen der auszuführenden Routine erst beim Aufruf des Menüeintrags.