Hurra,
endlich einer, der die selben Probleme hat wie ich!!!
Keine Ahnung warum es so ist, aber solange das Programm in der PopupMenu()-Funktion steckt, kannst Du kein zweites mehr Aufrufen.
Daher habe ich folgendes gebastelt:
(die Sache hat nur einen Haken: Du kannst das Menü leider nicht verstecken, weil Du es sonst nicht ansprechen kannst - für eine Lösung wäre ich dankbar!!)
***********************************************
Public Declare Function GetCursorPos Lib „user32“ (lpPoint As POINTAPI) As Long
Public Declare Function TrackPopupMenu Lib „user32“ (ByVal hMenu As Long, ByVal wFlags As Long, ByVal X As Long, ByVal Y As Long, ByVal nReserved As Long, ByVal hWnd As Long, lprc As Long) As Long
Public Declare Function GetSubMenu Lib „user32“ (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public Declare Function GetMenu Lib „user32“ (ByVal hWnd As Long) As Long
Public Type POINTAPI
X As Long
Y As Long
End Type
Public Sub myPopupMenu(Frm As Form, lngMenuPos)
Dim p As POINTAPI
Call GetCursorPos§
Call TrackPopupMenu(GetSubMenu(GetMenu(Frm.hWnd), lngMenuPos), 0, p.X, p.Y, 0, Frm.hWnd, 0)
End Sub
***********************************************
Aufgerufen wird das ganze dann so:
Call myPopupMenu(Me, 0)
***********************************************
Hope you’ll enjoy!
greets from MichL (Vienna)