j'utilise la commande scrollareagadget et j'aimerai savoir la position de la barre de defilement, seulement voila, le probleme c'est que j'ai aucune fonction ou commande que je connaisse qui pourait me retourner la position de la barre, si vous avez un morceau de code permettant de le faire n'hesité pas a repondre !!
merci d'avance
scrollareagadget
Un bout de code trouvé sur le forum anglais 
Et Denis m'avait donné une autre façon de faire
en utilisant
; Position curseur de la ScrollArea
PosScrollH.l = GetScrollPos_(GadgetID(0), #SB_HORZ)
PosScrollV.l = GetScrollPos_(GadgetID(0), #SB_VERT)

Code : Tout sélectionner
Procedure GetMouseX(gadget)
GetCursorPos_(mouse.POINT)
MapWindowPoints_(0,GadgetID(gadget),mouse,1)
ProcedureReturn mouse\x
EndProcedure
Procedure GetMouseY(gadget)
GetCursorPos_(mouse.POINT)
MapWindowPoints_(0,GadgetID(gadget),mouse,1)
ProcedureReturn mouse\y
EndProcedure
Procedure GetDesktopWidth()
ProcedureReturn GetSystemMetrics_(#SM_CXSCREEN)
EndProcedure
Procedure GetDesktopHeight()
ProcedureReturn GetSystemMetrics_(#SM_CYSCREEN)
EndProcedure
Procedure ResizeCallback(hWnd,Msg,wParam,lParam)
Result = #PB_ProcessPureBasicEvents
If Msg = #WM_SIZE
w = lParam & $FFFF
h = (lParam >> 16 ) & $FFFF
MoveWindow_(GadgetID(1),0,0,w,h,1)
EndIf
ProcedureReturn Result
EndProcedure
OpenWindow( 0,0,0,300,300,#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered,"PB_Scrollpaint")
CreateGadgetList(WindowID())
SetWindowCallback(@ResizeCallback())
AreaX = GetDesktopWidth() : AreaY = GetDesktopHeight()
hImg = CreateImage(0,AreaX,AreaY)
StartDrawing(ImageOutput())
For x = 0 To AreaX Step 40
For y = 0 To AreaY Step 40
Box(x,y,20,20,RGB(0,0,255)) : Box(x+20,y,20,20,RGB(0,0,180))
Box(x,y+20,20,20,RGB(0,0,128)) : Box(x+20,y+20,20,20,RGB(0,0,80))
Next y
Next x
StopDrawing()
ScrollAreaGadget(1,0,0,WindowWidth(),WindowHeight(),AreaX,AreaY,10,#PB_ScrollArea_BorderLess)
ImageGadget(2,0,0,AreaX,AreaY,hImg)
CloseGadgetList()
pendown=0
Repeat
Select WaitWindowEvent():
Case #PB_EventCloseWindow: End
Case #WM_LBUTTONDOWN
mx=GetMouseX(2) : my=GetMouseY(2)
mxx=(mx/20)*20 : myy=(my/20)*20
UseImage(0)
StartDrawing(ImageOutput())
Box(mxx,myy,20,20,RGB(255,180,0))
StopDrawing()
SetGadgetState(2, UseImage(0))
pendown=1
Case #WM_LBUTTONUP
pendown=0
Case #WM_MOUSEMOVE
If pendown=1
mx=GetMouseX(2) : my=GetMouseY(2)
mxx=(mx/20)*20 : myy=(my/20)*20
UseImage(0)
StartDrawing(ImageOutput())
Box(mxx,myy,20,20,RGB(255,180,0))
StopDrawing()
SetGadgetState(2, UseImage(0))
EndIf
Case #PB_EventGadget
Select EventGadgetID()
Case 3
End
EndSelect
EndSelect
ForEver
End
en utilisant
; Position curseur de la ScrollArea
PosScrollH.l = GetScrollPos_(GadgetID(0), #SB_HORZ)
PosScrollV.l = GetScrollPos_(GadgetID(0), #SB_VERT)
Code : Tout sélectionner
Procedure.l GetWindowSize(type.l)
; Source http://forum.purebasic.fr/
; type = 1 : largeur de la bordure droite, gauche ou basse d'une fenêtre
; type = 2 : hauteur de la bordure de titre d'une fenêtre
; type = 3 : largeur de la fenêtre
; type = 4 : hauteur de la fenêtre
GetWindowRect_(WindowID(), @Taille_Fenetre.RECT)
Largeur_Fenetre = Taille_Fenetre\Right - Taille_Fenetre\Left
Hauteur_Fenetre = Taille_Fenetre\Bottom - Taille_Fenetre\top
Largeur_Bordure = (Largeur_Fenetre - WindowWidth()) / 2
Hauteur_Titre = Hauteur_Fenetre - WindowHeight() - Largeur_Bordure
Select type
Case 1
ProcedureReturn Largeur_Bordure
Case 2
ProcedureReturn Hauteur_Titre
Case 3
ProcedureReturn Largeur_Fenetre
Case 4
ProcedureReturn Hauteur_Fenetre
EndSelect
EndProcedure
If OpenWindow(0, 0, 0, 500, 500, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "TEST")
If CreateGadgetList(WindowID())
ScrollAreaGadget(0, 0, 0, 450, 450, 1000, 1000, 5, #PB_ScrollArea_BorderLess)
CloseGadgetList()
EndIf
If CreateStatusBar(0, WindowID())
AddStatusBarField(100)
AddStatusBarField(100)
EndIf
Repeat
; Position curseur de la ScrollArea
PosScrollH.l = GetScrollPos_(GadgetID(0), #SB_HORZ)
PosScrollV.l = GetScrollPos_(GadgetID(0), #SB_VERT)
; Largeur et hauteur bordures de la fenêtre
Largeur.l = GetWindowSize(1)
Hauteur.l = GetWindowSize(2)
; Calcule la position de la souris sur la ScrollArea
MulotX = PosScrollH + WindowMouseX()-Largeur
MulotY = PosScrollV + WindowMouseY()-Hauteur
StatusBarText(0,0,Str(PosScrollH)+" - " +Str(PosScrollV),#PB_StatusBar_Center)
StatusBarText(0,1,Str(MulotX)+" - " +Str(MulotY),#PB_StatusBar_Center)
Until WaitWindowEvent() = #PB_EventCloseWindow
EndIf
End