A needless class to turn a progress bar into a slider (colorful gui sliders)

Post your working scripts, libraries and tools for AHK v1.1 and older
User avatar
Hellbent
Posts: 2109
Joined: 23 Sep 2017, 13:34

A needless class to turn a progress bar into a slider (colorful gui sliders)

15 Jan 2019, 16:22

This is a very simple class for turning a Progress bar gui control into a slider.

With how it is set up, be sure to make your slider variable and paired edit variable global.



Here is a little demo script

Code: Select all

#SingleInstance, Force
global Demo_Slider_1 , DS1Edit , pSlider := []
global Demo_Slider_2 , DS2Edit
global Demo_Slider_3 , DS3Edit
global Demo_Slider_4 , DS4Edit

Gui,1:+AlwaysOnTop -DPIScale
Gui,1:Color,333333
Gui,1:Font,s10 w600


Gui,1:Add,Button,x40 y10 w35 h17 -Theme vSub5 gAdjustSlider1,- 5
Gui,1:Add,Button,x80 y10 w35 h17 -Theme vSub1 gAdjustSlider1,- 1
Gui,1:Add,Edit,x125 y10 w50 h17 -E0x200 Center Disabled vDS1Edit ,5
Gui,1:Add,Button,x185 y10 w35 h17 -Theme vAdd1 gAdjustSlider1,+ 1
Gui,1:Add,Button,x225 y10 w35 h17 -Theme vAdd5 gAdjustSlider1,+ 5
pSlider[1]:= New Progress_Slider("1","Demo_Slider_1",30,35,240,20,-20,25,5,"D18F0B","FFFF00",1,"DS1Edit",1)


pSlider[2]:= New Progress_Slider("1","Demo_Slider_2",30,70,10,200,0,250,58,"080D60","0A17D8",1,"DS2Edit",1,1)
Gui,1:Add,Edit,x10 y280 w50 h17 -E0x200 Center Disabled vDS2Edit ,58

pSlider[3]:= New Progress_Slider("1","Demo_Slider_3",80,70,30,200,0,550,122,"555555","aaaaaa",1,"DS3Edit",0,1)
Gui,1:Add,Edit,x70 y280 w50 h17 -E0x200 Center Disabled vDS3Edit ,122

pSlider[4]:= New Progress_Slider("1","Demo_Slider_4",150,70,20,200,0,1250,158,,,1,"DS4Edit",1,1,0)
Gui,1:Add,Edit,x140 y280 w40 h17 -E0x200 Center Disabled vDS4Edit,158

Gui,1:Show, w300 , pSlider Demo  `
return
GuiClose:
GuiContextMenu:
	ExitApp


AdjustSlider1:
	(A_GuiControl="Sub5")?(pSlider[1].Slider_Value-=5):(A_GuiControl="Sub1")?(pSlider[1].Slider_Value-=1):(A_GuiControl="Add1")?(pSlider[1].Slider_Value+=1):(A_GuiControl="Add5")?(pSlider[1].Slider_Value+=5)
	(pSlider[1].Slider_Value > pSlider[1].End_Range)?(pSlider[1].SET_pSlider(pSlider[1].End_Range)):(pSlider[1].Slider_Value < pSlider[1].Start_Range)?(pSlider[1].SET_pSlider(pSlider[1].Start_Range)):(pSlider[1].SET_pSlider(pSlider[1].Slider_Value))
	return

numpad1::
	pSlider[1].SET_pSlider(-8)
	return
	
	
class Progress_Slider	{
	__New(pSlider_GUI_NAME , pSlider_Control_ID , pSlider_X , pSlider_Y , pSlider_W , pSlider_H , pSlider_Range_Start , pSlider_Range_End , pSlider_Value:=0 , pSlider_Background_Color := "Black" , pSlider_Top_Color := "Red" , pSlider_Pair_With_Edit := 0 , pSlider_Paired_Edit_ID := "" , pSlider_Use_Tooltip := 0 ,  pSlider_Vertical := 0 , pSlider_Smooth := 1){
		This.GUI_NAME:=pSlider_GUI_NAME
		This.Control_ID:=pSlider_Control_ID
		This.X := pSlider_X
		This.Y := pSlider_Y
		This.W := pSlider_W
		This.H := pSlider_H
		This.Start_Range := pSlider_Range_Start
		This.End_Range := pSlider_Range_End
		This.Slider_Value := pSlider_Value
		This.Background_Color := pSlider_Background_Color
		This.Top_Color := pSlider_Top_Color
		This.Vertical := pSlider_Vertical
		This.Smooth := pSlider_Smooth
		This.Pair_With_Edit := pSlider_Pair_With_Edit
		This.Paired_Edit_ID := pSlider_Paired_Edit_ID
		This.Use_Tooltip := pSlider_Use_Tooltip
		This.Add_pSlider()
	}
	Add_pSlider(){
		Gui, % This.GUI_NAME ":Add" , Text , % "x" This.X " y" This.Y " w" This.W " h" This.H " hwndpSliderTriggerhwnd"
		pSlider_Trigger := This.Adjust_pSlider.BIND( THIS ) 
		GUICONTROL +G , %pSliderTriggerhwnd% , % pSlider_Trigger
		if(This.Smooth=1&&This.Vertical=0)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " Background" This.Background_Color " c" This.Top_Color " Range" This.Start_Range "-" This.End_Range  " v" This.Control_ID ,% This.Slider_Value
		else if(This.Smooth=0&&This.Vertical=0)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " -Smooth Range" This.Start_Range "-" This.End_Range  " v" This.Control_ID ,% This.Slider_Value
		else if(This.Smooth=1&&This.Vertical=1)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " Background" This.Background_Color " c" This.Top_Color " Range" This.Start_Range "-" This.End_Range  " Vertical v" This.Control_ID ,% This.Slider_Value
		else if(This.Smooth=0&&This.Vertical=1)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " -Smooth Range" This.Start_Range "-" This.End_Range  " Vertical v" This.Control_ID ,% This.Slider_Value
	}
	Adjust_pSlider(){
		CoordMode,Mouse,Client
		while(GetKeyState("LButton")){
			MouseGetPos,pSlider_Temp_X,pSlider_Temp_Y
			if(This.Vertical=0)
				This.Slider_Value := Round((pSlider_Temp_X - This.X ) / ( This.W / (This.End_Range - This.Start_Range) )) + This.Start_Range
			else
				This.Slider_Value := Round(((pSlider_Temp_Y - This.Y ) / ( This.H / (This.End_Range - This.Start_Range) )) + This.Start_Range )* -1 + This.End_Range
			if(This.Slider_Value > This.End_Range )
				This.Slider_Value:=This.End_Range
			else if(This.Slider_Value<This.Start_Range)
				This.Slider_Value:=This.Start_Range
			GuiControl,% This.GUI_NAME ":" ,% This.Control_ID , % This.Slider_Value 
			if(This.Pair_With_Edit=1)
				GuiControl,% This.GUI_NAME ":" ,% This.Paired_Edit_ID , % This.Slider_Value 
			if(This.Use_Tooltip=1)
				ToolTip , % This.Slider_Value 
		}
		if(This.Use_Tooltip=1)
			ToolTip,
	}
	SET_pSlider(NEW_pSlider_Value){
		This.Slider_Value := NEW_pSlider_Value
		GuiControl,% This.GUI_NAME ":" ,% This.Control_ID , % This.Slider_Value
		if(This.Pair_With_Edit=1)
			GuiControl,% This.GUI_NAME ":" ,% This.Paired_Edit_ID , % This.Slider_Value
	}
}
And here is the class alone

Code: Select all

	
class Progress_Slider	{
	__New(pSlider_GUI_NAME , pSlider_Control_ID , pSlider_X , pSlider_Y , pSlider_W , pSlider_H , pSlider_Range_Start , pSlider_Range_End , pSlider_Value:=0 , pSlider_Background_Color := "Black" , pSlider_Top_Color := "Red" , pSlider_Pair_With_Edit := 0 , pSlider_Paired_Edit_ID := "" , pSlider_Use_Tooltip := 0 ,  pSlider_Vertical := 0 , pSlider_Smooth := 1){
		This.GUI_NAME:=pSlider_GUI_NAME
		This.Control_ID:=pSlider_Control_ID
		This.X := pSlider_X
		This.Y := pSlider_Y
		This.W := pSlider_W
		This.H := pSlider_H
		This.Start_Range := pSlider_Range_Start
		This.End_Range := pSlider_Range_End
		This.Slider_Value := pSlider_Value
		This.Background_Color := pSlider_Background_Color
		This.Top_Color := pSlider_Top_Color
		This.Vertical := pSlider_Vertical
		This.Smooth := pSlider_Smooth
		This.Pair_With_Edit := pSlider_Pair_With_Edit
		This.Paired_Edit_ID := pSlider_Paired_Edit_ID
		This.Use_Tooltip := pSlider_Use_Tooltip
		This.Add_pSlider()
	}
	Add_pSlider(){
		Gui, % This.GUI_NAME ":Add" , Text , % "x" This.X " y" This.Y " w" This.W " h" This.H " hwndpSliderTriggerhwnd"
		pSlider_Trigger := This.Adjust_pSlider.BIND( THIS ) 
		GUICONTROL +G , %pSliderTriggerhwnd% , % pSlider_Trigger
		if(This.Smooth=1&&This.Vertical=0)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " Background" This.Background_Color " c" This.Top_Color " Range" This.Start_Range "-" This.End_Range  " v" This.Control_ID ,% This.Slider_Value
		else if(This.Smooth=0&&This.Vertical=0)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " -Smooth Range" This.Start_Range "-" This.End_Range  " v" This.Control_ID ,% This.Slider_Value
		else if(This.Smooth=1&&This.Vertical=1)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " Background" This.Background_Color " c" This.Top_Color " Range" This.Start_Range "-" This.End_Range  " Vertical v" This.Control_ID ,% This.Slider_Value
		else if(This.Smooth=0&&This.Vertical=1)
			Gui, % This.GUI_NAME ":Add" , Progress , % "x" This.X " y" This.Y " w" This.W " h" This.H " -Smooth Range" This.Start_Range "-" This.End_Range  " Vertical v" This.Control_ID ,% This.Slider_Value
	}
	Adjust_pSlider(){
		CoordMode,Mouse,Client
		while(GetKeyState("LButton")){
			MouseGetPos,pSlider_Temp_X,pSlider_Temp_Y
			if(This.Vertical=0)
				This.Slider_Value := Round((pSlider_Temp_X - This.X ) / ( This.W / (This.End_Range - This.Start_Range) )) + This.Start_Range
			else
				This.Slider_Value := Round(((pSlider_Temp_Y - This.Y ) / ( This.H / (This.End_Range - This.Start_Range) )) + This.Start_Range )* -1 + This.End_Range
			if(This.Slider_Value > This.End_Range )
				This.Slider_Value:=This.End_Range
			else if(This.Slider_Value<This.Start_Range)
				This.Slider_Value:=This.Start_Range
			GuiControl,% This.GUI_NAME ":" ,% This.Control_ID , % This.Slider_Value 
			if(This.Pair_With_Edit=1)
				GuiControl,% This.GUI_NAME ":" ,% This.Paired_Edit_ID , % This.Slider_Value 
			if(This.Use_Tooltip=1)
				ToolTip , % This.Slider_Value 
		}
		if(This.Use_Tooltip=1)
			ToolTip,
	}
	SET_pSlider(NEW_pSlider_Value){
		This.Slider_Value := NEW_pSlider_Value
		GuiControl,% This.GUI_NAME ":" ,% This.Control_ID , % This.Slider_Value
		if(This.Pair_With_Edit=1)
			GuiControl,% This.GUI_NAME ":" ,% This.Paired_Edit_ID , % This.Slider_Value
	}
}
User avatar
Drugwash
Posts: 850
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania
Contact:

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

18 Jan 2019, 05:36

Third vertical progress-slider (left to right) works in reverse. Otherwise it's fine here on XP-SP4.
I did that some time ago for Win98SE despite people saying it'd be impossible. Good ol' days. :)
Part of my AHK work can be found here.
User avatar
Hellbent
Posts: 2109
Joined: 23 Sep 2017, 13:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

19 Jan 2019, 23:28

Drugwash wrote:
18 Jan 2019, 05:36
Third vertical progress-slider (left to right) works in reverse.
I was expecting that it would look different, but i'm not sure what you mean?
-Smooth (minus Smooth): Displays a length of segments rather than a smooth continuous bar.
Specifying -Smooth is also one of the requirements to show a themed progress bar on Windows XP or later.
The other requirement is that the bar not have any custom colors; that is, that the C and
Background options be omitted.
I assume that you are talking about getting it to look like segments, but other than that I'm not sure about the the reverse part.
User avatar
Drugwash
Posts: 850
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania
Contact:

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

20 Jan 2019, 07:15

I mean, sliding upwards it displays lower value, while sliding downwards it displays higher value.
ProgressSliderLowHighEdit.png
ProgressSliderLowHighEdit.png (26.3 KiB) Viewed 4745 times
Not displaying as segmented is just another issue, but I don't like that style anyway. :)
There is however a script by jNizM originally posted here which I've slightly modified so it can display segmented progressbars (the last two at the bottom). Here's the modified code, it may be of help:

Code: Select all

; by jNizM  https://autohotkey.com/boards/viewtopic.php?f=7&t=4662

; GLOBAL SETTINGS ===============================================================================================================

#NoEnv
#SingleInstance Force

WM_USER               := 0x00000400
PBM_SETMARQUEE        := WM_USER + 10
PBM_SETSTATE          := WM_USER + 16
PBS_MARQUEE           := 0x00000008
PBS_SMOOTH            := 0x00000001
PBS_VERTICAL          := 0x00000004
PBST_NORMAL           := 0x00000001
PBST_ERROR            := 0x00000002
PBST_PAUSE            := 0x00000003
STAP_ALLOW_NONCLIENT  := 0x00000001
STAP_ALLOW_CONTROLS   := 0x00000002
STAP_ALLOW_WEBCONTENT := 0x00000004
WM_THEMECHANGED       := 0x0000031A

; SCRIPT ========================================================================================================================

Gui, Margin, 5, 5
Gui, Font, s14 Bold
Gui, Add, Text, xm ym 0x200, Progressbar Examples

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20, 50

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 hwndMARQ1 +%PBS_MARQUEE%, 50
DllCall("User32.dll\SendMessage", Ptr, MARQ1, "Int", PBM_SETMARQUEE, Ptr, 1, Ptr, 50)

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 BackgroundC9C9C9, 50

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 BackgroundC9C9C9 hwndMARQ2 +%PBS_MARQUEE%, 50
DllCall("User32.dll\SendMessage", Ptr, MARQ2, "Int", PBM_SETMARQUEE, Ptr, 1, Ptr, 50)

; ------------------------------------------------------------------------------------------------------
DllCall("uxtheme.dll\SetThemeAppProperties", "UInt", 0)
Gui, Add, Progress, w300 h20 c66EE66 hwndUTHEME, 50
;DllCall("User32.dll\SendMessage", Ptr, UTHEME, "Int", WM_THEMECHANGED, Ptr, 0, Ptr, 0)
DllCall("uxtheme.dll\SetThemeAppProperties", "UInt", 7)

; ------------------------------------------------------------------------------------------------------
DllCall("uxtheme.dll\SetThemeAppProperties", "UInt", 0)
Gui, Add, Progress, w300 h20 c66EE66 hwndMARQ3 +%PBS_MARQUEE%, 50
DllCall("User32.dll\SendMessage", Ptr, MARQ3, "Int", PBM_SETMARQUEE, Ptr, 1, Ptr, 50)
DllCall("uxtheme.dll\SetThemeAppProperties", "UInt", 7)

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 -%PBS_SMOOTH%, 50

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 hwndMARQ4 -%PBS_SMOOTH% +%PBS_MARQUEE%, 50
DllCall("User32.dll\SendMessage", Ptr, MARQ4, "Int", PBM_SETMARQUEE, Ptr, 1, Ptr, 50)

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 hwndPROG -%PBS_SMOOTH%, 50
DllCall("User32.dll\SendMessage", Ptr, PROG, "Int", PBM_SETSTATE, Ptr, PBST_NORMAL, Ptr, 0)

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 hwndPROR -%PBS_SMOOTH%, 50
DllCall("User32.dll\SendMessage", Ptr, PROR, "Int", PBM_SETSTATE, Ptr, PBST_ERROR, Ptr, 0)

; ------------------------------------------------------------------------------------------------------
Gui, Add, Progress, w300 h20 hwndPROY -%PBS_SMOOTH%, 50
DllCall("User32.dll\SendMessage", Ptr, PROY, "Int", PBM_SETSTATE, Ptr, PBST_PAUSE, Ptr, 0)

; ------------------------------------------------------------------------------------------------------
; === ADDITION ===
Gui, Add, Progress, w300 h20 -Smooth -Theme BackgroundFFFFFF, 50
Gui, Add, Progress, w300 h20 -Smooth -Theme hwndMARQ5 +%PBS_MARQUEE% BackgroundFFFFFF, 50
DllCall("User32.dll\SendMessage", Ptr, MARQ5, "Int", PBM_SETMARQUEE, Ptr, 1, Ptr, 800)

Gui, Show, AutoSize
return

; EXIT ==========================================================================================================================
Close:
GuiClose:
GuiEscape:
    exitapp
Here's how it looks like:
20190120141454.png
20190120141454.png (15.98 KiB) Viewed 4745 times
Part of my AHK work can be found here.
User avatar
Drugwash
Posts: 850
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania
Contact:

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

21 Jan 2019, 05:02

Could have something to do with the Windows version and its common controls library, and/or AHK version; I'm currently using XP-SP3 (x86) with unofficial SP4 installed, and AHK 1.1.28.00 Unicode.
Well, no biggie. Thanks for your code, it may come in handy.
Part of my AHK work can be found here.
User avatar
Hellbent
Posts: 2109
Joined: 23 Sep 2017, 13:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

21 Jan 2019, 06:18

Drugwash wrote:
21 Jan 2019, 05:02
Could have something to do with the Windows version and its common controls library, and/or AHK version; I'm currently using XP-SP3 (x86) with unofficial SP4 installed, and AHK 1.1.28.00 Unicode.
Well, no biggie. Thanks for your code, it may come in handy.
No problem.
I take it that the other sliders work so it's only the -Smooth (pSlider_Smooth = 0) option that causes a issue for you.
User avatar
Drugwash
Posts: 850
Joined: 29 May 2014, 21:07
Location: Ploieşti, Romania
Contact:

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

21 Jan 2019, 06:59

Yes, all other sliders work correctly.
Part of my AHK work can be found here.
thebbandit
Posts: 45
Joined: 02 Jul 2019, 11:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

26 Jan 2020, 15:35

Bravo, another wonderful class! This thread deserves a bump! :D
User avatar
Hellbent
Posts: 2109
Joined: 23 Sep 2017, 13:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

26 Jan 2020, 16:19

You can find another take on a progress slider here.
https://www.autohotkey.com/boards/viewtopic.php?f=76&t=64671#p301727
and another one at the bottom of that page.

They aren't in a class, but have a few features that this one doesn't.
thebbandit
Posts: 45
Joined: 02 Jul 2019, 11:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

27 Jan 2020, 22:33

I took the code you built and as a learning exercise I built another class to create the color selection sliders to make a color picker. Its pretty awesome how it works once you figure out classes, I was always so timid to try using them because they seemed confusing.

Here is what I came up with, maybe someone will find this useful. I know that without your code I would have taken ages to figure out how to do a lot of the tricks you employ :) I really like the use of the blank text fields, that's a trick I have found to be extremely useful and seems to be the basis for most of these custom controls.
ColorPicker Class
User avatar
Hellbent
Posts: 2109
Joined: 23 Sep 2017, 13:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

28 Jan 2020, 12:51

@thebbandit

Do you have a working example / sample of using your class?
thebbandit
Posts: 45
Joined: 02 Jul 2019, 11:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

29 Jan 2020, 15:32

Your right, I did some modifications for my own script since the testbench I built it in. Ahh I found the difference, in this testbench I was trying out inserting into another window as a parent. Its kinda strange. Thats why there is that empty "" in the third parameter. Here is the unaltered base to use as an example:
BaseCode

Here is what the testbench looks like
Image

And this is what I ended up with within the GUI it was for:
Image
sasee_sw
Posts: 5
Joined: 31 Mar 2023, 05:41

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

03 Apr 2023, 02:09

Hay, thank you for your materials. 😊❤ I want to know how to get an updated value get and save it as a global variable. thank you.
User avatar
Hellbent
Posts: 2109
Joined: 23 Sep 2017, 13:34

Re: A needless class to turn a progress bar into a slider (colorful gui sliders)

03 Apr 2023, 18:59

sasee_sw wrote:
03 Apr 2023, 02:09
Hay, thank you for your materials. 😊❤ I want to know how to get an updated value get and save it as a global variable. thank you.
Hi sasee_sw. Welcome to the ahk forum.

You can get the current value of the slider by looking at the Slider_Value key of your slider object ( the name you give your slider ).

Here is a simple example of getting and setting the value of the slider. See the F1 and F2 hotkeys to see how to get and set your values.

.
pSlider.gif
pSlider.gif (378.23 KiB) Viewed 895 times
.

Code: Select all

#Include pSliders.ahk ;<---- Assumes that the class is in another file. (you can paste the class in this script as well)

#SingleInstance, Force

global Demo_Slider_1 ;The name to use for the progress control 
global DS1Edit ;The edit control that displays the slider value
global MySlider ;The name of your slider object.

Gui,1:+AlwaysOnTop -DPIScale

Gui,1:Add,Edit,x125 y15 w50 h17 -E0x200 Center Disabled vDS1Edit , 5
MySlider := New Progress_Slider( "1" , "Demo_Slider_1" , 30 , 35 , 240 , 20 , 0 , 255 , 5 , "D18F0B" , "FFFF00" , 1 , "DS1Edit" , 1 )

Gui,1:Margin, , 30
Gui,1:Show, w300 , pSlider Demo 

return
GuiClose:
GuiContextMenu:
*ESC::ExitApp

F1:: ;Get the slider value
	Gui, 1:+OwnDialogs
	MsgBox, % "Slider 1 Value: " MySlider.Slider_Value 
	Return

F2:: ;Set the slider value
	MySlider.SET_pSlider( 122 )
	Gui, 1:+OwnDialogs
	MsgBox, The value of the slider has been set to 122
	return

Return to “Scripts and Functions (v1)”

Who is online

Users browsing this forum: No registered users and 154 guests