Rubrik: Oberfläche · Fenster | VB-Versionen: VB4, VB5, VB6 | 27.06.03 |
Deaktivierung des Schließen-Symbols II Dieser Tipp zeigt, wie sich das Schließen-Symbol einer Form zur Laufzeit deaktivieren und wieder reaktivieren lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 21.243 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Wie man zur Laufzeit das Schließen-Symbol einer Form deaktiviert, zeigt nachfolgender Tipp:
Deaktivierung des Schließen-Symbols
Was aber, wenn man das Schließen-Symbol wieder "reaktivieren" möchte?
Wie das geht, erfahren Sie heute.
' zunächst die benötigten Deklarationen Private Declare Function GetSystemMenu Lib "user32" ( _ ByVal hwnd As Long, _ ByVal bRevert As Long) As Long Private Declare Function DeleteMenu Lib "user32" ( _ ByVal hMenu As Long, _ ByVal nPosition As Long, _ ByVal wFlags As Long) As Long Private Declare Function DrawMenuBar Lib "user32" ( _ ByVal hwnd As Long) As Long Private Const SC_CLOSE = &HF060 Private Const MF_BYCOMMAND = &H0
' Entfernen / Anzeigen des Schließen-Symbols Public Sub ShowCloseButton(ByVal hWnd As Long, _ ByVal bShowButton As Boolean) Dim hMenu As Long If Not bShowButton Then ' Schließen-Symbol deaktivieren hMenu = GetSystemMenu(hWnd, 0&) If hMenu Then Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND) End If Else ' Schließen-Symbol wieder aktivieren GetSystemMenu hWnd, True End If DrawMenuBar hWnd End Sub
Aufrufbeispiel:
Während eine längere Aktion läuft möchten Sie das Schließen-Symbol der Form deaktivieren und nachdem die Aktion beendet ist wieder aktivieren:
' Schließen-Symbol deaktivieren ShowCloseButton Me.hWnd, False ' Aktion... ... ' Schließen-Symbol wieder aktivieren ShowCloseButton Me.hWnd, True