VB5: Öffnen eines geb. Formulars aus Popupmenü

Irgendwie versteh ich das nicht: Wenn ich ein gebundenes Formular über ein Popupmenü öffne, kann ich dadrin kein Popupmenü mehr anzeigen. Es tut sich einfach nix, gibt aber auch keinen Fehler.
Wenn ich das gleiche statt über ein Popupmenü über einen Button mache, funktioniert´s.
Mach ich da was falsch, oder ist das einfach ein VB-Bug - oder gar ein Feature, das ich mal wieder nicht verstehe?

Uni

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)

hmm ganz komisch??? geht bei mir auch nicht.

aber ich habe folgender Lösungs-Hack-Vorschlag für dich:
(form1 erstellen. Vb beenden.
Mit Texteditor Form1.frm öffen und diesen Code hineinkopieren und alten ersetzen)

sag mir ob das eine lösung für dich ist.

gruss, Giuseppe

VERSION 5.00
Begin VB.Form Form1
Caption = „Form1“
ClientHeight = 4110
ClientLeft = 60
ClientTop = 345
ClientWidth = 5985
LinkTopic = „Form1“
ScaleHeight = 4110
ScaleWidth = 5985
StartUpPosition = 3 'Windows-Standard
Begin VB.Timer tmr1
Enabled = 0 'False
Interval = 100
Left = 2400
Top = 1800
End
Begin VB.Menu a
Caption = „a“
Visible = 0 'False
Begin VB.Menu b
Caption = „b“
End
End
End
Attribute VB_Name = „Form1“
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub b_Click()
tmr1.Enabled = True
End Sub

Private Sub Form_Click()
PopupMenu a
End Sub

Private Sub tmr1_Timer()
Dim x As Form1
Set x = New Form1
Load x
x.Show vbModal

End Sub

siehe oben meinen lösungsvorschlag