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