J'ai fait un petit truc rapide mais utile pour mesurer des pixels sur une fenêtre (plus besoin de recommencer 58x avant de trouver la bonne distance ou hauteur comme ça)
Il marche avec PB 4.10
Edit : tout marche maintenant
Enumeration
#but
#butt
EndEnumeration
mesurage_commence = 0
OpenWindow(0,1,1,300,350,"[PB]Mesures de px sur fenêtre",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
TextGadget(55,1,1,60,20,"Largeur:")
TextGadget(1,1,30,90,20,"Hauteur:")
StringGadget(2,70,1,100,20,"300")
StringGadget(3,70,30,100,20,"350")
TextGadget(6,200,310,50,20,"X:")
TextGadget(7,200,330,50,20,"Y:")
TextGadget(#but,2,290,230,20,"Maintenez le clic droit pour mesurer une ligne")
Repeat
event = WaitWindowEvent()
SetGadgetText(6,"X:"+Str(WindowMouseX(0)))
SetGadgetText(7,"Y:"+Str(WindowMouseY(0)))
If mesurage_commence = 1
StartDrawing(WindowOutput(0))
x_ = WindowMouseX(0)
y_ = WindowMouseY(0)
Plot(x_,y_)
StopDrawing()
EndIf
largeur = Val(GetGadgetText(2))
hauteur = Val(GetGadgetText(3))
ResizeWindow(0,#PB_Ignore,#PB_Ignore,largeur,hauteur)
If event = #WM_RBUTTONDOWN
x = WindowMouseX(0)
y = WindowMouseY(0)
mesurage_commence = 1
EndIf
If event = #WM_RBUTTONUP
mesurage_commence = 0
MessageRequester("",ReplaceString(Str(x-x_+y-y_),"-",""))
x = WindowX(0)
y = WindowY(0)
ResizeWindow(0,9999,-9999,#PB_Ignore,#PB_Ignore)
ResizeWindow(0,x,y,#PB_Ignore,#PB_Ignore)
EndIf
If event = #PB_Event_Gadget
Select event = #PB_Event_Gadget
Case #but
MessageRequester("","Tracer une ligne (en maintenant le clic) pour avoir sa longueur en px")
EndSelect
EndIf
Until event = #WM_CLOSE