Thomas Risi Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer - WebServices
Kontextmenü für eine ListBox
Um einer ListBox, oder einem anderen Control, auf einer UserForm ein
Kontextmenü anzuhängen, kann man so vorgehen.
Quellcode für normales Modul ...
Option Explicit
Private Sub Makro1()
UserForm1.Caption = "Test"
End Sub
Private Sub Makro2()
MsgBox "Test"
End Sub
Private Sub Makro3()
MsgBox "Ganz einfach ..."
End Sub
Quellcode für die UserForm ...
Option Explicit
Dim m_Menu As CommandBar
Dim m_MenuItem1 As CommandBarButton
Dim m_MenuItem2 As CommandBarButton
Dim m_MenuItem3 As CommandBarButton
Private Sub ListBox1_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then m_Menu.ShowPopup
End Sub
Private Sub UserForm_Initialize()
ListBox1.AddItem "Eintrag 1"
ListBox1.AddItem "Eintrag 2"
ListBox1.AddItem "Eintrag 3"
On Error Resume Next
CommandBars("TestMenu").Delete
On Error GoTo 0
If m_Menu Is Nothing Then
Set m_Menu = Application.CommandBars.Add(Name:="TestMenu", _
Position:=msoBarPopup, Temporary:=False)
Set m_MenuItem1 = m_Menu.Controls.Add(msoControlButton)
Set m_MenuItem2 = m_Menu.Controls.Add(msoControlButton)
Set m_MenuItem3 = m_Menu.Controls.Add(msoControlButton)
m_MenuItem1.Caption = "&MenuItem1"
m_MenuItem2.Caption = "Menu&Item2"
m_MenuItem3.Caption = "Me&nuItem3"
m_MenuItem1.OnAction = "Makro1"
m_MenuItem2.OnAction = "Makro2"
m_MenuItem3.OnAction = "Makro3"
End If
End Sub
© 2001 -
by Thomas Risi