Maximisé ou minimisé ?

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Maximisé ou minimisé ?

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]