Das Systemmenü einer Form wird bekanntlich nur angezeigt, wenn man auf das Icon links oben in der Titelleiste klickt. Der nachfolgende Tipp zeigt, wie das Systemmenü an einer x-beliebigen Stelle innerhalb der Form als PopUp-Menü angezeigt werden kann. ' zunächst die benötigten API-Deklarationen Private Declare Function GetCursorPos Lib "user32" ( _ lpPoint As POINTAPI) As Long Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Private Const WM_GETSYSMENU = &H313 Private Type POINTAPI X As Long Y As Long End Type ' Rechtsklick auf die Form zeigt das ' Systemmenü als PopUp-Menü Private Sub Form_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Dim lpPointApi As POINTAPI Call GetCursorPos(lpPointApi) If Button = vbRightButton Then Call SendMessage(Me.hwnd, WM_GETSYSMENU, 0, _ ByVal fLongVal(lpPointApi.Y, lpPointApi.X)) End If End Sub Public Function fLongVal(ByVal vHeightWord As Variant, _ ByVal iLowWord As Integer) As Long fLongVal = (vHeightWord * &H10000) + (iLowWord And &HFFFF&) End Function Dieser Tipp wurde bereits 12.894 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |