Frame "verarbeiten"

29/09/2008 - 21:01 von Lothar Geyer | Report spam
Ich habe mit dem MouseUp eines Frames das Öffnen eines Popup-Menüs
verbunden (rechte Maustaste). Jetzt suche ich nach einer Möglichkeit,
das auch über die Tastatur zu machen. Aber ein &Caption funktioniert
nicht. Habt Ihr eine Idee?

Lothar Geyer
 

Lesen sie die antworten

#1 Thorsten Doerfler
29/09/2008 - 21:40 | Warnen spam
Lothar Geyer schrieb:
Ich habe mit dem MouseUp eines Frames das Öffnen eines Popup-Menüs
verbunden (rechte Maustaste). Jetzt suche ich nach einer Möglichkeit,
das auch über die Tastatur zu machen. Aber ein &Caption funktioniert
nicht. Habt Ihr eine Idee?



Da ein Frame keinen Eingabefokus erhalten kann, sondern nur
untergeordnete Controls, erscheint es wenig sinnvoll, hier mit der
Tastatur ein Kontextmenü zum Vorschein zu bringen, denn das bezieht sich
eigentlich immer automatisch auf das untergeordnete Control, das gerade
den Fokus besitzt.

Alternative wàre noch allgemein im KeyUp Event des Formulars zu agieren:

Private Const vbKeyContextMenu As Long = &H5D

Private Sub Form_Load()
Me.KeyPreview = True
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Dim lContextMenu As Boolean

If Me.ActiveControl.Container Is Frame1 Then
If (Shift And vbShiftMask) = vbShiftMask Then
lContextMenu = CBool(KeyCode = vbKeyF10)
ElseIf KeyCode = vbKeyContextMenu Then
lContextMenu = True
End If

If lContextMenu Then
Me.PopupMenu Test, , Command1.Left, Command1.Top
End If
End If
End Sub

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