Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Kontextmenue in UF kleine Probleme

VBA Kontextmenue in UF kleine Probleme
04.02.2004 11:29:26
Lupus
Hallo Excel-User
Mit folgendem Code rufe ich ein Kontextmenue in einer UF-Textbox auf:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then m_Menue.ShowPopup
End Sub

Wähle ich jetzt ein Kontextmenue-Punkt aus wird der entsprechende Code ausgeführt. Bisher funktioniert alles einwandfrei, nur wird, seltsamerweise, das Kontextmenue noch einmal angezeigt. Wie kann man das vermeiden?
Wie weist man dem ersten Kontextmenue-Eintag zum Beispiel das Icon für „Ausschneiden“ zu?
Gruß Lupus

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Kontextmenue in UF kleine Probleme
04.02.2004 11:51:01
K.Rola
Hallo,
da wäre schon der Code interessant, mit dem du das Kontextmenü
erstellst.
Gruß K.Rola
AW: VBA Kontextmenue in UF kleine Probleme
04.02.2004 11:57:46
Lupus
Hallo K.Rola
hier der ganze Code, kann mir aber nicht vorstellen, daß das mit dem restlichen Code zusammenhängt.
Option Explicit
Dim m_Menue As CommandBar
Dim m_MenueItem1 As CommandBarButton


Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then m_Menue.ShowPopup
End Sub



Private Sub UserForm_Initialize()
On Error Resume Next
CommandBars("Testmenu").Delete
On Error GoTo 0
If m_Menue Is Nothing Then
Set m_Menue = Application.CommandBars.Add(Name:="TestMenu", Position:=msoBarPopup, Temporary:=False)
Set m_MenueItem1 = m_Menue.Controls.Add(msoControlButton)
m_MenueItem1.Caption = "&Ausschneiden"
m_MenueItem1.OnAction = "Makro1"
End If
End Sub

Gruß Lupus
Anzeige
AW: VBA Kontextmenue in UF kleine Probleme
04.02.2004 12:14:16
K.Rola
Hallo,
Option Explicit
Dim m_Menue As CommandBar
Dim m_MenueItem1 As CommandBarButton

Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then m_Menue.ShowPopup
End Sub


Private Sub UserForm_Initialize()
On Error Resume Next
CommandBars("Testmenu").Delete
On Error GoTo 0
If m_Menue Is Nothing Then
Set m_Menue = Application.CommandBars.Add(Name:="TestMenu", Position:=msoBarPopup, Temporary:=False)
Set m_MenueItem1 = m_Menue.Controls.Add(msoControlButton)
With m_MenueItem1
.Style = 3
.Caption = "&Ausschneiden"
.OnAction = "Makro1"
.FaceId = 21
End With
End If
End Sub

Gruß K.Rola
Anzeige
AW: VBA Kontextmenue in UF kleine Probleme
04.02.2004 12:58:52
Lupus
Hallo K.Rola
danke, klappt prima.
Jedoch bleibt das doppelte aufpoppen des Kontextmenues bestehen. Ich könnte jetzt eine Boolsche Variable einfügen und prüfen, ob das Kontextmenue schon aufgerufen wurde, aber gibt es da nicht eine einfachere Methode.
Ist es möglich in einer UF zwei Textboxen jeweils ein anderes Kontextmenu zuzuweisen? Wenn ja wie?
Gruß Lupus
AW: VBA Kontextmenue in UF kleine Probleme
04.02.2004 15:40:11
K.Rola
Hallo,
das mit dem doppelt aufpoppen kann ich nicht nachvollziehen.
Das zweite Popup machst genauso wie das erste, nur mit einem
anderen Namen.
Gruß K.Rola
AW: VBA Kontextmenue in UF keine Probleme
04.02.2004 17:04:19
Lupus
Hallo K.Rola,
für das doppelte aufpoppen habe ich nun folgende Lösung:
Dim bTB1 As Boolean

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If bTB1 = True Then
bTB1 = False
Exit Sub
End If
If Button = 2 Then m_Menue.ShowPopup
bTB1 = True
End Sub

Gruß Lupus
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige