Přepínání přetahování okna

Postup:
Založte nový projekt a zapište následující kód:

      Option Explicit

      Private Declare Function SystemParametersInfo Lib "user32" _
         Alias "SystemParametersInfoA" (ByVal uAction As Long, _
         ByVal uParam As Long, ByRef lpvParam As Any, _
         ByVal fuWinIni As Long) As Long

      Private Const SPI_GETDRAGFULLWINDOWS = 38
      Private Const SPI_SETDRAGFULLWINDOWS = 37
      Private Const SPIF_SENDWININICHANGE = 2

      Private Function IsFullWindowDragOn() As Boolean

          Dim result As Long

          'Test pro zjištění nastavení a chyby.
          If SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0&, result, 0&) _
                 <> 0 Then
              'Vlastnost je podporována, otestujeme nastavení.
              If result = 0 Then
                  IsFullWindowDragOn = False
              Else
                  IsFullWindowDragOn = True
              End If

          'Volání selhalo, vlastnost není podporována.
          Else
              IsFullWindowDragOn = False
          End If

      End Function

      Private Sub Form_Click()

          Dim result As Long

          'Přehození nastavení.
          If IsFullWindowDragOn Then
              'Vypnutí
              result = SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 0&, _
                 ByVal vbNullString, SPIF_SENDWININICHANGE)
          Else
              'Zapnutí
              result = SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 1&, _
                 ByVal vbNullString, SPIF_SENDWININICHANGE)
          End If
      End Sub 

Spusťte projekt. Zkuste zahýbat s formulářem. Při každém kliku na formulář se přehodí nastavení.

Zpět

Autor: The Bozena