Bonjour,
Sûrement ça existe mais j'avoue que je n'ai rien trouvé sur l'aide, j'utilise une ancienne version sur ce pc (autre que le mien).
Ma question: comment savoir si le pointeur de la souris se trouve sur un gadget image? (comme le link du web).
Il y a sûrement un évènement windows pour tester ça je crois (enfin normalement ça doit exister, car c important)
Je veux juste changer l'image dès que l'utilisateur amène sa souris sur une image.
Merci
Evenement passage souris sur gadget
Evenement passage souris sur gadget
Win7 (x64) 64 bits Pb 5.72
Re: Evenement passage souris sur gadget
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é
Declare Callback(WindowID, message, wParam, lParam)
Enumeration
#window
;#String ;ID=1
#Button ;ID=2
#CheckBox ;ID=3
#String
EndEnumeration
If OpenWindow(#window,0,0,400,400,"Pure Basic",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
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(@Callback())
Repeat
EventID.l=WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case 0
EndSelect
Case #WM_CLOSE
Quit=1
EndSelect
Until Quit=1
EndIf
Procedure Callback(WindowID, message, wParam, lParam)
Resultat = #PB_ProcessPureBasicEvents
Select message
Case #WM_SETCURSOR
Debug "Handle= "+Str(wParam)+" , "+"ID= "+Str(GetDlgCtrlID_(wParam))
EndSelect
ProcedureReturn Resultat
EndProcedure
; EPB
Re: Evenement passage souris sur gadget
Code : Tout sélectionner
Enumeration
#Windows
#ImageGadget1
EndEnumeration
;Macro de je ne sais plus qui
Macro OverGadget(x, y, Gadget)
(((Not x<GadgetX(Gadget)) & (Not y<GadgetY(Gadget))) & (Not x>=(GadgetX(Gadget)+GadgetWidth(Gadget))) & (Not y>=(GadgetY(Gadget)+GadgetHeight(gadget))))
EndMacro
;
If CreateImage(0, 100, 100)
If StartDrawing(ImageOutput(0))
Box(0,0,100,100, RGB(0,255,0))
StopDrawing()
EndIf
EndIf
If CreateImage(1, 100, 100)
If StartDrawing(ImageOutput(1))
Box(0,0,100,100, RGB(255,0,0))
StopDrawing()
EndIf
EndIf
If OpenWindow(#Windows, 0, 0, 200, 200, "Survoler", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ImageGadget(#ImageGadget1,50,50,100,100,ImageID(0))
Repeat
Event = WaitWindowEvent()
x=WindowMouseX(#Windows):y=WindowMouseY(#Windows)
If OverGadget(x,y , #ImageGadget1)
Debug "Ok"
SetGadgetState(#ImageGadget1,ImageID(1))
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Re: Evenement passage souris sur gadget
Dobro tu devrais te faire un programme pour supprimer les de tes nombreux codes.
Code : Tout sélectionner
CreateGadgetList(WindowID(#window))
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels