minimize() / restore() all Windows

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

Post Reply
User avatar
AUGE_OHR
Posts: 2117
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

minimize() / restore() all Windows

Post by AUGE_OHR »

hi,

i have 4 x Windows
when minimize() Main Windows i want to minimize() all other (free) Windows.

i have try this ... but it seems not the Way :?:

Code: Select all

   ON SIZE     DO_Resize() ;
   ON MAXIMIZE DO_Resize() ;
   ON MINIMIZE Do_Minimize_Restore() ;

Code: Select all

PROCEDURE DO_Resize()
   // resize
RETURN

Code: Select all

PROCEDURE Do_Minimize_Restore()
LOCAL hWnd
   hWnd := GetFormhandle( "Form_1" )
   IF IsIconic( hWnd )
      Restore( hWnd )
      IF IsWindowDefined( Form_2 )
         hWnd := GetFormhandle( "Form_2" )
         Restore( hWnd )
      ENDIF
      IF IsWindowDefined( Form_3 )
         hWnd := GetFormhandle( "Form_3" )
         Restore( hWnd )
      ENDIF
      IF IsWindowDefined( Form_4 )
         hWnd := GetFormhandle( "Form_4" )
         Restore( hWnd )
      ENDIF
   ELSE
      Minimize( hWnd )
      IF IsWindowDefined( Form_2 )
         hWnd := GetFormhandle( "Form_2" )
         Minimize( hWnd )
      ENDIF
      IF IsWindowDefined( Form_3 )
         hWnd := GetFormhandle( "Form_3" )
         Minimize( hWnd )
      ENDIF
      IF IsWindowDefined( Form_4 )
         hWnd := GetFormhandle( "Form_4" )
         Minimize( hWnd )
      ENDIF
   ENDIF
RETURN
Question : will minimize() / restore() "fire ON SIZE" Event :?:

so how get ON MINIMIZE and ON SIZE together :idea:
have fun
Jimmy
User avatar
AUGE_OHR
Posts: 2117
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: minimize() / restore() all Windows

Post by AUGE_OHR »

got it :)

Code: Select all

#xtranslate IsMinimized ( <hWnd> ) => IsIconic ( <hWnd> )
#xtranslate IsMaximized ( <hWnd> ) => IsZoomed ( <hWnd> )

Code: Select all

PROCEDURE DO_Resize()
LOCAL hWnd := GetFormhandle( "Form_1" )
   IF !IsMinimized( hWnd )
      IF IsWindowDefined( Form_2 )
         hWnd := GetFormhandle( "Form_2" )
         IF IsMinimized( hWnd )
            RESTORE( hWnd )
         ENDIF
      ENDIF
      IF IsWindowDefined( Form_3 )
         hWnd := GetFormhandle( "Form_3" )
         IF IsMinimized( hWnd )
            RESTORE( hWnd )
         ENDIF
      ENDIF
      IF IsWindowDefined( Form_4 )
         hWnd := GetFormhandle( "Form_4" )
         IF IsMinimized( hWnd )
            RESTORE( hWnd )
         ENDIF
      ENDIF
   ENDIF
   
   // normal resize Code 
RETURN

Code: Select all

PROCEDURE Do_Minimize_Restore()
LOCAL hWnd
   IF IsWindowDefined( Form_2 )
      hWnd := GetFormhandle( "Form_2" )
      IF !IsMinimized( hWnd )
         Minimize( hWnd )
      ENDIF
   ENDIF
   IF IsWindowDefined( Form_3 )
      hWnd := GetFormhandle( "Form_3" )
      IF !IsMinimized( hWnd )
         Minimize( hWnd )
      ENDIF
   ENDIF
   IF IsWindowDefined( Form_4 )
      hWnd := GetFormhandle( "Form_4" )
      IF !IsMinimized( hWnd )
         Minimize( hWnd )
      ENDIF
   ENDIF
RETURN
have fun
Jimmy
Post Reply