Page 1 sur 1

Maximisé ou minimisé ?

Publié : jeu. 29/janv./2004 10:01
par Le Soldat Inconnu
Un petit code pour savoir si une fenêtre est maximisé ou minimisé.

Code : Tout sélectionner

;- Callback
; En utilisant le callback

; Procedure WinCallback(WindowID, Message, wParam, lParam)
;   Result.l = #PB_ProcessPureBasicEvents
;   If Message = #WM_SIZE
;     Select wParam
;       Case #SIZE_MINIMIZED
;         ; MessageRequester( "info", "minimizé", 0)
;         HideWindow(1, 0)
;       Case #SIZE_RESTORED
;         ; MessageRequester(" info", "maximimizé", 0)
;     EndSelect
;   EndIf
;   ProcedureReturn Result
; EndProcedure
; 
; OpenWindow(1, 300, 300, 300, 300, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "Test")
; 
; ; OpenWindow(1, 300, 300, 300, 300, #PB_Window_BorderLess | #PB_Window_Invisible, "Test")
; ; SetWindowLong_(WindowID(), #GWL_EXSTYLE, GetWindowLong_(WindowID(), #GWL_EXSTYLE) ! #WS_EX_TOOLWINDOW) ; choix de la barre d'outil réduite
; ; HideWindow(1, 0)
; 
; SetWindowCallback(@WinCallback())
; 
; Repeat
;   Event = WaitWindowEvent()
;   
; Until Event = #PB_Event_CloseWindow


; ***********************************************************************************************


;- API
; En utilisant l'api

OpenWindow(1, 300, 300, 300, 300, #PB_Window_MinimizeGadget, "Test")

Repeat
  Event = WaitWindowEvent()
  
  If Event = #WM_Size ; mettre en commentaire cette partie et décommenter le haut du code pour passer avec le wincallback
    
    If IsIconic_(WindowID())
      MessageRequester(" info", "minimisé", 0)
    Else
      MessageRequester( "info", "maximimisé", 0)
    EndIf
    
  EndIf
  
Until Event = #PB_Event_CloseWindow