Maximize Window

Category: Application Features

Date: 03-28-2012

Return to Index


 
'Compilable Example:
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
#Include "win32api.inc"
%IDC_Expand = 500
Global hDlg As Dword, oldw,oldh,oldx,oldy As Long, BigDialog As Long
 
Function PBMain() As Long
   Dialog New Pixels, 0, "Big Screen",400,400,200,200, %WS_OverlappedWindow To hDlg
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   Local w, h As Long
   Select Case Cb.Msg
      Case %WM_InitDialog
         BuildAcceleratorTable
      Case %WM_Command
         Select Case Cb.Ctl
            Case %IDC_Expand
               BigDialog = BigDialog Xor 1
               If BigDialog Then
                  Dialog Get Size hDlg To oldw,oldh  'save the old w/h size of the dialog
                  Dialog Get Loc hDlg To oldx,oldy  'save the old w/h size of the dialog
                  '                     Desktop Get Size To w,h
                  w = GetSystemMetrics( %SM_CXVIRTUALSCREEN )
                  h = GetSystemMetrics( %SM_CYVIRTUALSCREEN )
                  Dialog Set Loc hDlg, 0,0
                  Dialog Set Size hDlg, w,h
                  SetWindowPos(hDlg, %HWND_TopMost, 0, 0, 0, 0, %SWP_NoMove Or %SWP_NoSize)  'on Top
               Else
                  Dialog Set Loc hDlg, oldx,oldy
                  Dialog Set Size hDlg, oldw,oldh
                  SetWindowPos(hDlg, %HWND_NoTopMost, 0, 0, 0, 0, %SWP_NoMove Or %SWP_NoSize)  'on Top
               End If
         End Select
   End Select
End Function
 
Sub BuildAcceleratorTable
   Local c As Long, ac() As ACCELAPI, hAccelerator As Dword
   Dim ac(0)
   ac(c).fvirt = %FVIRTKEY              : ac(c).key   = %VK_F12    : ac(c).cmd   = %IDC_Expand
   Accel Attach hDlg, AC() To hAccelerator
End Sub
 
'gbs_00822
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm