Code : Tout sélectionner
; Détecte le passage de la souris au dessus d'un Gadget
; on peut ainsi récupérer son ID ou son Handle
; il faut que l'ID du Gadget commence par 1
; car le message renvoie null s'il n'est pas au dessus un Gadget
; de plus si le gadget est désactivée, il ne sera pas détecté
Procedure ProcedureCallback(WindowID, Message, wParam, lParam)
Resultat = #PB_ProcessPureBasicEvents
Select Message
Case #WM_SETCURSOR
Debug "Handle= "+Str(wParam)+" , "+"ID= "+Str(GetDlgCtrlID_(wParam))
EndSelect
ProcedureReturn Resultat
EndProcedure
Enumeration
#Window
#String ;ID=1
#Button ;ID=2
#CheckBox ;ID=3
EndEnumeration
If OpenWindow(#Window,0,0,400,400,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Pure Basic")
CreateGadgetList(WindowID(#Window))
StringGadget(#String,20, 20,200,20,"Normal StringGadget...")
ButtonGadget(#Button, 20, 60, 200, 20, "Standard Button")
CheckBoxGadget(#CheckBox,20, 100,200,20,"CheckBox standard")
;DisableGadget(#Button,1)
SetWindowCallback(@ProcedureCallback())
Repeat
EventID.l=WaitWindowEvent()
Select EventID
Case #PB_EventGadget
Select EventGadgetID()
Case 0
EndSelect
Case #WM_CLOSE
Quit=1
EndSelect
Until Quit=1
EndIf