PopupMenu und vbModal

09/05/2010 - 20:34 von W. Wolf | Report spam
Guten Abend,

ist das bereits allgemein bekannt?

Einfache Form mit Menü MTest (sichtbar)
und Untermenü mnuTest (ebenfalls sichtbar).

Private Sub Form_Click()
PopupMenu MTest
End Sub

Private Sub mnuTest_Click()
Dim f As Form1
Set f = New Form1
f.Move Me.Left + 150, Me.Top + 150
f.Show vbModal
End Sub

auf der zweiten Form wird das PopupMenu nicht
mehr angezeigt sofern die zweite Form über
PopupMenu erzeugt wurde. Erlogt der Aufruf
über das normale Menü MTest/mnuTest, so funktioniert
das PopupMenu auf der zweiten Form. Warum ist das so?
Kann ich dieses Verhalten irgendwie umgehen?

Meine momentane (wenig schöne) Lösung:

Private Sub Form_Click()
PopupMenu MTest
End Sub

Private Sub mnuTest_Click()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Timer1.Enabled = False
Dim f As Form1
Set f = New Form1
f.Move Me.Left + 150, Me.Top + 150
f.Show vbModal
End Sub

Schönen Gruß
W. Wolf
 

Lesen sie die antworten

#1 Thorsten Doerfler
09/05/2010 - 20:47 | Warnen spam
W. Wolf schrieb:
ist das bereits allgemein bekannt?



Ja, seit mindestens 2001 bekannt. Harald hat das auch mal in einem
Beitrag niedergeschrieben:
http://www.aboutvb.de/khw/artikel/k...direct.htm

Eine Erklàrung warum das so ist, liefert sein Artikel nicht. Man kann
nur vermuten, dass es mit der internen Verarbeitung des Kontextmenüs
zusammenhàngt. VB/Windows meint, es wàre noch ein Popup geöffnet, weil
das Menü durch den modalen Dialog noch nicht vollstàndig eliminiert
werden konnte.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen