[Windows only] set In Out in TrackBar
Posted: Wed Sep 11, 2013 4:06 pm
This post was deleted. No how, when, or why. Nor do I find my beer.
But seriously .. Do not know how it happened but it is not. So I put it back.
I hope will be helpful.
(thank, motivates share)

But seriously .. Do not know how it happened but it is not. So I put it back.
I hope will be helpful.
(thank, motivates share)

Code: Select all
; minimy
; ==================
In=0
Out=100
Window_0 = OpenWindow(#PB_Any, 450, 200, 450, 80, "SET IN-OUT", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
If Window_0
TrackBar_0 = TrackBarGadget(#PB_Any, 5, 5, 440, 50, In, Out, #PB_TrackBar_Ticks)
Button_1 = ButtonGadget(#PB_Any, 5, 55, 90, 20, "IN")
Button_2 = ButtonGadget(#PB_Any, 355, 55, 90, 20, "OUT")
Texo = TextGadget(#PB_Any, 190, 55, 80, 20, "0",#PB_Text_Center)
SetWindowLongPtr_(GadgetID(Trackbar_0),#GWL_STYLE,GetWindowLongPtr_(GadgetID(Trackbar_0),#GWL_STYLE) | #TBS_ENABLESELRANGE | #TBS_BOTH )
SendMessage_(GadgetID(Trackbar_0),#TBM_SETSELSTART,0,In);In
SendMessage_(GadgetID(Trackbar_0),#TBM_SETSELEND,0,Out);Out
For a=0 To 100 Step 10
SendMessage_(GadgetID(Trackbar_0),#TBM_SETTIC,0,a)
Next
SetWindowLongPtr_(GadgetID(Trackbar_0), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(Trackbar_0), #GWL_EXSTYLE)); | #WS_EX_LAYOUTRTL );Al reves, de derecha a izquierda
EndIf
Repeat
Event = WaitWindowEvent(1)
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()
If EventGadget = TrackBar_0
SetGadgetText(Texo,Str(GetGadgetState(TrackBar_0)))
ElseIf EventGadget = Button_1
in=GetGadgetState(TrackBar_0)
If in>out:kk=out:Out=in:In=kk:EndIf
SendMessage_(GadgetID(Trackbar_0),#WM_SETREDRAW,#False,0)
SendMessage_(GadgetID(Trackbar_0),#TBM_SETSELSTART,0,In)
SendMessage_(GadgetID(Trackbar_0),#TBM_SETSELEND,0,Out)
SendMessage_(GadgetID(Trackbar_0),#WM_SETREDRAW,#True,0)
RedrawWindow_(GadgetID(Trackbar_0),#Null,#Null,#RDW_INVALIDATE)
ElseIf EventGadget = Button_2
Out=GetGadgetState(TrackBar_0)
If in>out:kk=out:Out=in:In=kk:EndIf
SendMessage_(GadgetID(Trackbar_0),#WM_SETREDRAW,#False,0)
SendMessage_(GadgetID(Trackbar_0),#TBM_SETSELSTART,0,In)
SendMessage_(GadgetID(Trackbar_0),#TBM_SETSELEND,0,Out)
SendMessage_(GadgetID(Trackbar_0),#WM_SETREDRAW,#True,0)
RedrawWindow_(GadgetID(Trackbar_0),#Null,#Null,#RDW_INVALIDATE)
EndIf
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = Window_0
CloseWindow(Window_0)
Window_0 = 0
Break
EndIf
EndSelect
ForEver