Maximalizace formuláře

Postup:
Založte nový projekt. Do deklarační části formuláře zapište:

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
        ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
        ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  
Private Declare Function GetSystemMetrics Lib "user32" _
        (ByVal nIndex As Long) As Long
  
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Private Const HWND_TOP = 0
Private Const SWP_SHOWWINDOW = &H40

Na formulář přidejte dvě tlačítka. Jedno bude pro maximalizaci formuláře přes celou obrazovku, druhé pro maximalizaci pomocí standardních metod. Na jejich události Click:
Private Sub Command1_Click()

    Dim ll_Width As Long
    Dim ll_Height As Long
   
    If Me.WindowState = vbMaximized Then
        WindowState = vbNormal
    End If
  
    ll_Width = GetSystemMetrics(SM_CXSCREEN)
    ll_Height = GetSystemMetrics(SM_CYSCREEN)
  
    Call SetWindowPos(Me.hwnd, HWND_TOP, 0, 0, ll_Width, _
        ll_Height, SWP_SHOWWINDOW)

End Sub
     
Private Sub Command2_Click()

    WindowState = vbMaximized

End Sub

Zpět

Autor: The Bozena