Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kontextmenü in Treeview aufrufen

Kontextmenü in Treeview aufrufen
22.07.2008 15:58:41
bambollo
Hallo,
ich sitze schon länger an dem Problem und wende mich nun hoffnungsvoll an Sie!
Ich möchte in einem TreeView mit einem Rechtsklick ein eigenes Kontextmenü aufrufen. Im Tabellenblatt funktioniert es ohne Probleme. Dort benutze ich folgenden Code:
Dim MB As CommandBarControl
Set MB = Application.CommandBars("Cell").Controls.Add
With MB
.Caption = "Funktion anhängen"
.OnAction = "Funktionhinzu"
.BeginGroup = True
End With
Welchen Index (anstatt "Cell") muss ich ansprechen, um das Menü im Tree direkt aufrufen zu können. Ist es möglich dies innerhalb des Ereignisses "Node_Click" zu machen, oder muss ich schon beim Öffnen des Trees das Kontextmenü initialisieren?
Danke für die Hilfe!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontextmenü in Treeview aufrufen
22.07.2008 16:31:00
Nepumuk
Hallo bambollo,
dazu musst du ein eigenes Popup-Menü erzeugen (Position:=msoBarPopup) und im Click-Ereignis der Nodes aufrufen (MeineCommanbar.ShowPopup).
Gruß
Nepumuk

AW: Kontextmenü in Treeview aufrufen
23.07.2008 08:16:28
bambollo
Danke für den Tipp schon mal. Hab das mit dem eigenen Popup-Menü auch schon probiert. Ging leider schief. Weißt du vielleicht, was an diesem Code falsch ist?
Dim nCmdBar As CommandBar
Dim MB, nPopUp As CommandBarControl
Set nCmdBar = Application.CommandBars.Add(Name:="Inhalte einfügen", Position:=msoBarPopup, MenuBar:=False, temporary:=True)
Set nPopUp = nCmdBar.Controls.Add(Type:=msoControlPopup, ID:=1)
With nPopUp
.Caption = "Funktion anfügen"
.OnAction = "Funktionhinzu"
End With
Danke nochmal,
Gruß bambollo

Anzeige
AW: Kontextmenü in Treeview aufrufen
23.07.2008 11:11:35
Nepumuk
Hallo bambollo,
ein Beispiel. Folgender Code in ein Standardmodul:
Option Explicit
Public Const POPUP_MENU = "Inhalte einfügen"

Public Sub prcCreate_Popup()
Dim nCmdBar As CommandBar
Dim nButton As CommandBarButton
Call prcDelete_Popup
Set nCmdBar = Application.CommandBars.Add(Name:=POPUP_MENU, _
Position:=msoBarPopup, MenuBar:=False, temporary:=True)
Set nButton = nCmdBar.Controls.Add(Type:=msoControlButton)
With nButton
.Caption = "Funktion anfügen"
.FaceId = 59
.OnAction = "Funktionhinzu"
End With
End Sub



Public Sub prcDelete_Popup()
On Error Resume Next
Application.CommandBars(POPUP_MENU).Delete
End Sub



Public Sub Funktionhinzu()
MsgBox "Leck mich"
End Sub


Folgender Code in das Modul einer Tabelle:
Option Explicit


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Application.CommandBars(POPUP_MENU).ShowPopup
End Sub


Einfach mal prcCreate_Popup starten und dann einen Rechtsklick in die Tabelle.
Gruß
Nepumuk

Anzeige
AW: Kontextmenü in Treeview aufrufen
23.07.2008 13:46:07
bambollo
Hey Nepumuk,
Vielen Dank für deine schnelle Hilfe! Funktioniert einwandfrei! Ich geh jetzt mal davon aus, dass der Eintrag in der MsgBox nicht persönlich gemeint war:-)
Gruß Marcel

AW: Kontextmenü in Treeview aufrufen
22.07.2008 17:38:00
Herbert
Hi,
wo befindet sich das control, Tabelle oder userform?
mfg Herbert
btw: Die Verwendung von nicht-Standard controls birgt immer ein Risiko bei der
Weitergabe einer solchen Mappe. Schließlich kann nicht einfach so vorausgesetzt
werden, dass das control auf dem Zielrechner vorhanden und registriert ist.

AW: Kontextmenü in Treeview aufrufen
23.07.2008 08:20:35
bambollo
Hi Herbert,
leider hab ich deine Frage nicht ganz verstanden:-) Ich habe ein TreeView als eigenes Userform erstellt. Derselbe Inhalt ist in einem Tabellenblatt nocheinmal hinterlegt. Da hier die Übersichtlichkeit jedoch nicht mehr gegeben ist, möchte ich gerne direkt im Tree arbeiten und dort verschiedene weitere Userforms aufrufen. Mit dem Popup-Menü wäre dies jedoch die eleganteste Lösung.
Hilft dir die Info weiter?
Danke trotdem schonmal,
Gruß bambollo
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige