bonjour,
j'aimerais savoir comment récupérer les coordonnées de la souris sur un gadget (de préférence et non pas par rapport à la fenêtre ou à l'écran).
Je pensais qu'il fallait utiliser le module Mouse mais faut ouvrir un screen :s
merci
edit : mais oui ! l'API win32 (j'y pense jamais en pure), je vais aller chercher dans la doc mais si quelqu'un à les fonctions en tête qu'il hésite pas
edit 2 : j'arrive à récupérer les cliques sur la fenêtre là ou il y a pas de gadget mais j'y arrive pas sur un gadget (j'utilise setWindowCallback)
minirop a écrit :
edit 2 : j'arrive à récupérer les cliques sur la fenêtre là ou il y a pas de gadget mais j'y arrive pas sur un gadget (j'utilise setWindowCallback)
moi je me demande pourquoi on s'est emmerdé a faire des Tuto dans la sections débutants, si personne ne les regardes !!
pas besoin d'api
tu récupère les coordonées de ton gadget et ceux de ta souris, puis une p'tite soustraction pour avoir les coordonées relatives au gadget
OpenWindow(0,0,0,640,480,"")
CreateGadgetList(WindowID(0))
ButtonGadget(0,320,240,100,25,Txt$)
Repeat
event = WindowEvent()
If WindowMouseX(0)>320 And WindowMouseX(0)<100+320
If WindowMouseY(0)>240 And WindowMouseY(0)<25+240
X = WindowMouseX(0)-320
Y = WindowMouseY(0)-240
Txt$ = "X="+Str(X)+" Y="+Str(Y)
SetGadgetText(0,Txt$)
EndIf
EndIf
Until event = #PB_Event_CloseWindow
OpenWindow(0,0,0,640,480,"")
CreateGadgetList(WindowID(0))
For Y = 0 To 18
For X = 0 To 7
ButtonGadget(#PB_Any,X*80,Y*25,80,25,"click me")
Next
Next
Repeat
event = WindowEvent()
If event = #PB_Event_Gadget
GadgetID = EventGadget()
H.l = GadgetHeight(GadgetID)
W.l = GadgetWidth(GadgetID)
X.l = GadgetX(GadgetID)
Y.l = GadgetY(GadgetID)
If WindowMouseX(0)>X And WindowMouseX(0)<W+X
If WindowMouseY(0)>Y And WindowMouseY(0)<H+Y
X = WindowMouseX(0)-X
Y = WindowMouseY(0)-Y
Txt$ = "X="+Str(X)+" Y="+Str(Y)
SetGadgetText(GadgetID,Txt$)
EndIf
EndIf
EndIf
Until event = #PB_Event_CloseWindow