Page 1 sur 1

orienter une Trackbar

Publié : mar. 20/sept./2005 11:43
par Dräc
Je cherche à faire pointer le curseur d’une trackbar dans le sens inverse que ce qui est proposé par défaut.
Je pensais m’en sortir avec les API avec SendMessage et le #TBM_SETTIC, mais rien n'y fait.
Une idée ?

Code : Tout sélectionner

  If OpenWindow(0,0,0,320,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"CheckBoxGadget") And CreateGadgetList(WindowID(0))
    h = TrackBarGadget(2,270, 10, 20,170,0,10000,#PB_TrackBar_Vertical)
    SetGadgetState(2, 8000)
    SendMessage_(h, #TBM_SETTIC, 0, #TBS_LEFT)
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  EndIf

Publié : mar. 20/sept./2005 11:57
par lionel_om
J'ai posté qq code pour mettre le curseur d'une TB sous le clic.
Sert toi de ce que j'ai fais. :wink:

Publié : mar. 20/sept./2005 12:21
par Dräc
:!: :?:
S'il sagit de "http://purebasic.hmt-forum.com/viewtopi ... t=trackbar", il ne répond pas à mon besoin...
Sinon, il est clair que si PB ne permet pas de le faire, seul les API le permettent, mais laquelle?:)
Dans mon exemple, je tente de faire apparaitre les traits de marquage à gauche, sans succés.
Je pense qu'en y arrivant, le curseur devrait pointer dans la direction des traits.

Publié : mar. 20/sept./2005 12:30
par fweil
Apparement il faut faire qq chose comme :

h = TrackBarGadget(2,270, 10, 20,170,0,10000,#PB_TrackBar_Vertical| #TBS_LEFT)

Publié : mar. 20/sept./2005 12:31
par fweil
Mais j'ai cherché un sacré moment quand m^me

Publié : mar. 20/sept./2005 12:46
par Dräc
M…. !
Super et merci fweil !
J’avais oublié cette possiblité et ca me va!
Pourtant on devrait pouvoir modifier le style a posteriori !!!

Publié : mar. 20/sept./2005 13:59
par fweil
Voici la bonne manière d'utiliser le message de style :

Code : Tout sélectionner

  If OpenWindow(0,0,0,320,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"CheckBoxGadget") And CreateGadgetList(WindowID(0))
    h = TrackBarGadget(2,270, 10, 20,170,0,10000,#PB_TrackBar_Vertical) ; | #TBS_LEFT)
    SetGadgetState(2, 8000)
    SendMessage_(h, #TBM_SETTIC, 0, 1000)
    SendMessage_(h, #TBM_SETTIC, 0, 2000)
    SendMessage_(h, #TBM_SETTIC, 0, 3000)
     SetWindowLong_(h, #GWL_STYLE, GetWindowLong_(h, #GWL_STYLE) | #TBS_LEFT)
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  EndIf