Rubrik: Oberfläche · Fenster | VB-Versionen: VB4, VB5, VB6 | 28.11.00 |
Verschieben eines Fensters unterbinden Mit der nachfolgenden Prozedur ist es möglich, das Verschieben eines Fensters durch den Anwender zu unterbinden, d.h. die Form/das Fenster kann nich... | ||
Autor: Dieter Otter | Bewertung: | Views: 14.528 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit der nachfolgenden Prozedur ist es möglich, das Verschieben eines Fensters durch den Anwender zu unterbinden, d.h. die Form/das Fenster kann nicht an eine andere Stelle auf dem Desktop bewegt werden.
' alle benötigten Deklarationen Private Declare Function GetSystemMenu Lib "user32" ( _ ByVal hwnd As Long, _ ByVal bRevert As Long) As Long Private Declare Function RemoveMenu Lib "user32" ( _ ByVal hMenu As Long, _ ByVal nPosition As Long, _ ByVal wFlags As Long) As Long Private Const SC_MOVE = &HF010& Private Const MF_BYCOMMAND = &H0& ' Entfernen des "Verschieben"-Befehls im ' Systemmenü des Fensters Public Sub LockWindowPos(hWnd As Long) Dim lhSysMenu As Long Dim lRetVal As Long lhSysMenu = GetSystemMenu(hWnd, False) lRetVal = RemoveMenu(lhSysMenu, SC_MOVE, MF_BYCOMMAND) End Sub
Anmerkungen:
Die Prozedur LockWindowPos entfernt den Menübefehl "Verschieben" aus dem Systemmenü. Hierzu muß der Prozedur einfach das Fensterhandle (hWnd-Eigenschaft) als Parameter übergeben werden.
Beispiel:
Private Sub Form_Load() LockWindowPos Me.hWnd End Sub