Search the Community
Showing results for tags 'slider'.
-
Hello! Please help me with this small problem I've encountered while learning to make GUI. I'm not able to get the set slider values out of sliders and I can't figure out why. The slider value in the example is preset to 1, but whatever I set the slider to, it returns the value 3 when I click Apply and I havn't set any value to 3. Where is that 3 coming from? #include <SliderConstants.au3> #include <MsgBoxConstants.au3> #include <GUIConstantsEx.au3> Global $LRSlider Opt("GUIOnEventMode", 1) Global $Form1 = GUICreate("test slider", 200, 200, -1, -1) Global $LRSlider = GUICtrlCreateSlider(50, 50, 100, 20, $TBS_TOOLTIPS) GUICtrlSetLimit($LRSlider, 50, 1) GUICtrlSetData($LRSlider, 1) GUISetOnEvent($GUI_EVENT_CLOSE, "Exit1") Global $ApplyButton = GUICtrlCreateButton("APPLY", 100, 150, 89, 17) GUICtrlSetOnEvent($ApplyButton, "Apply") GUISetState(@SW_SHOW) Func Apply() GUICtrlRead($LRSlider) MsgBox(0, 0, $LRSlider) GUICtrlSetData($LRSlider, $LRSlider) EndFunc ;==>Apply Func Exit1() Exit EndFunc ;==>Exit1 While 1 Sleep(200) WEnd
-
I want to create a slider that has values representing colors, like the slider on the _ChooseColor() GUI in the Misc.au3 UDF, but the max value for a slider is 32767. Here is my test code: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <SliderConstants.au3> #include <Misc.au3> $hGUI = GUICreate("Test", 100, 560) $BtnID = GUICtrlCreateButton("Choose", 10, 10, 50, 25) ;~ GUICtrlSetOnEvent($BtnID, "handle_choose_btn") $flags = BitOR($TBS_AUTOTICKS, $TBS_VERT) $iSliderID = GUICtrlCreateSlider(10, 50, 40, 420, $flags) $hSlider_hWnd = GUICtrlGetHandle($iSliderID) $iMaxVal = 32767 GUICtrlSetLimit($iSliderID, $iMaxVal, 0) ; change min/max value GUISetState() GUIRegisterMsg($WM_VSCROLL, "WM_V_Slider") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $GUI_EVENT_PRIMARYUP ToolTip("") case $BtnID handle_choose_btn() EndSwitch WEnd ; React to a slider movement Func WM_V_Slider($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam If $lParam = $hSlider_hWnd Then $iValue = GUICtrlRead($iSliderID) ConsoleWrite("+++: $iValue = " & $iValue & @CRLF) ToolTip(getRGB($iValue)) EndIf Return $GUI_RUNDEFMSG EndFunc ;==>WM_V_Slider ; Extract the RGB components from the color value Func getRGB($iColorVal) Local $hexstr, $b, $g, $r, $rgb $hexstr = StringFormat("%06X", $iColorVal) $r = StringMid($hexstr, 1, 2) $g = StringMid($hexstr, 3, 2) $b = StringMid($hexstr, 5, 2) $rgb = StringFormat("" & $iColorVal & " - rgb: %02s %02s %02s", $r, $g, $b) Return ($rgb) EndFunc ;==>getRGB Func handle_choose_btn() $color = _ChooseColor(2, 255, 0, $hGUI) ConsoleWrite("+++: $color = " & Hex($color, 8) & @CRLF) EndFunc ;==>handle_choose_btn
-
Hi guys I have a question about the slider controle There is a problem with screen readers, wen we Using a screen reader We usually move between GUI controls using the tab key. But when you create a slider , beside to it there are buttons and check boxes or any other controls, When I move between the GUI controls using the tab key I can not find the slider. But if it were alone in the window, I would find it normally. Is there a solution to Solve this problem please? This is the code i tried #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #include <SliderConstants.au3> main() Func main() GUICreate("slider", 200, 200, -1, -1) GUICtrlCreateGroup("slider", 10, 10, 240, 50) Local $idSlider1 = GUICtrlCreateSlider(50, 30, 200, 20, BitOr($TBS_DOWNISLEFT, $TBS_BOTH)) GUICtrlSetLimit(-1, 100, 0) ;GUIStartGroup("") Local $idButton = GUICtrlCreatebutton("Value?", 75, 70, 70, 20) GUISetState(@SW_SHOW) GUICtrlSetData($idSlider1, 10) while 1 switch GUIGetMsg() case $GUI_EVENT_CLOSE exit case $idButton MsgBox($MB_SYSTEMMODAL, "slider1", GUICtrlRead($idSlider1)) endSwitch Wend EndFunc [Click and drag to move]
- 5 replies
-
- screen readers
- slider
-
(and 1 more)
Tagged with:
-
Automating SoundWire Server's Master Volume slider
b9k posted a topic in AutoIt GUI Help and Support
Hi, I am stuck on a GUI problem and would like your help to solve it. I am trying to automate the SoundWire Server app to match my current system volume level while it is minimized to the notification area (so no clicking or stealing focus), I can already get the handle and alter the tracker position by sending a WM_SETPOS message, but somehow the actual volume is not changed: I think I need to do something else to trigger the event handler for the value change and propagate it correctly. This is the control summary from Au3 info: >>>> Window <<<< Title: SoundWire Server Class: #32770 Position: 441, 218 Size: 566, 429 Style: 0x94CA00C4 ExStyle: 0x00050101 Handle: 0x0000000000510E12 >>>> Control <<<< Class: msctls_trackbar32 Instance: 4 ClassnameNN: msctls_trackbar324 Name: Advanced (Class): [CLASS:msctls_trackbar32; INSTANCE:4] ID: 6002 Text: Position: 51, 222 Size: 47, 126 ControlClick Coords: 1, 101 Style: 0x5001000A ExStyle: 0x00000000 Handle: 0x00000000001234C8 >>>> Mouse <<<< Position: 496, 567 Cursor ID: 2 Color: 0xF0F0F0 >>>> StatusBar <<<< >>>> ToolsBar <<<< >>>> Visible Text <<<< Default multimedia device Tray on Start Static Server Address: 192.168.1.8 Status: Connected to B9K~OP3 Audio Output Audio Input Level Record to File Input Select: 44.1 kHz Minimize to Master Volume Mute >>>> Hidden Text <<<< Slider2 Mute OK Cancel Label Balance Slider1 Volume Front L/R Fr C/LFE Side L/R Back L/R I am attaching the program in question so you don't have to install it (i don't know if it is portable enough, tough): SoundWire Server_files.zip Thanks in advance and I hope I didn't post in the wrong section -
Hi I am trying to make a gui that uses a slide to change pictures and uses internet-read from guinness function. Thanks for your help. Ok found the issue #include <GUIConstantsEx.au3> #include <SliderConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> #include <WinAPIRes.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 229, 165, 2392, 436) $Slider = GUICtrlCreateSlider(32, 128, 150, 29) GUICtrlSetLimit($Slider, 2, 1) GUICtrlSetData($Slider, 1) GUICtrlSetBkColor($Slider, 0x0099FF) GUICtrlSetColor(-1, 0xA6CAF0) $hSlider_Handle = GUICtrlGetHandle(-1) $sFile1 = _GetURLImage("http://www.pendriveapps.com/wp-content/uploads/autoit.jpg ", @TempDir) $sFile2 = _GetURLImage("http://domoticx.com/wp-content/uploads/autoit-logo-200x154.jpg ", @TempDir) $Hpic1 = GUICtrlCreatePic($sFile1, 56, 8, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS)) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Slider $a = GUICtrlRead($Slider) If $a = 2 Then GUICtrlDeleteImage($Hpic1) $Hpic2 = GUICtrlCreatePic($sFile2, 56, 8, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS)) ElseIf $a = 1 Then GUICtrlDeleteImage($hpic2) $Hpic1 = GUICtrlCreatePic($sFile1, 56, 8, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS)) EndIf EndSwitch WEnd Func _GetURLImage($sURL, $sDirectory = @ScriptDir) ; Author ........: guinness Local $hDownload, $sFile $sFile = StringRegExpReplace($sURL, "^.*/", "") If @error Then Return SetError(1, 0, $sFile) EndIf If StringRight($sDirectory, 1) <> "\" Then $sDirectory = $sDirectory & "\" EndIf $sDirectory = $sDirectory & $sFile If FileExists($sDirectory) Then Return $sDirectory EndIf $hDownload = InetGet($sURL, $sDirectory, 17, 1) While InetGetInfo($hDownload, 2) = 0 If InetGetInfo($hDownload, 4) <> 0 Then InetClose($hDownload) Return SetError(1, 0, $sDirectory) EndIf Sleep(105) WEnd InetClose($hDownload) Return $sDirectory EndFunc ;==>_GetURLImage Func GUICtrlDeleteImage($iCtrlID) ; Author ........: guinness Local Const $STM_SETIMAGE = 0x0172 Local $aSetImage = 0, _ $bReturn = True, _ $iMsg = 0 Switch _WinAPI_GetClassName($iCtrlID) Case 'Button' ; button, checkbox, groupbox, radiobutton. Local $aButton = [$IMAGE_BITMAP, $IMAGE_ICON] $aSetImage = $aButton $aButton = 0 Case 'Static' ; icon, label, picture. Local $aStatic = [$IMAGE_BITMAP, $IMAGE_CURSOR, $IMAGE_ICON] $aSetImage = $aStatic $aStatic = 0 $iMsg = $STM_SETIMAGE Case Else $bReturn = False EndSwitch If $bReturn Then $bReturn = False Local $hImage = 0 For $i = 0 To UBound($aSetImage) - 1 $hImage = GUICtrlSendMsg($iCtrlID, $iMsg, $aSetImage[$i], 0) If $hImage <> 0 Then Switch $aSetImage[$i] Case $IMAGE_BITMAP $bReturn = _WinAPI_DeleteObject($hImage) Case $IMAGE_CURSOR $bReturn = _WinAPI_DeleteObject($hImage) If Not $bReturn Then $bReturn = _WinAPI_DestroyCursor($hImage) > 0 EndIf Case $IMAGE_ICON $bReturn = _WinAPI_DeleteObject($hImage) If Not $bReturn Then $bReturn = _WinAPI_DestroyIcon($hImage) > 0 EndIf EndSwitch ExitLoop EndIf Next If Not $bReturn Then $bReturn = GUICtrlSetImage($iCtrlID, 'shell32.dll', -50) > 0 EndIf EndIf Return $bReturn EndFunc ;==>GUICtrlDeleteImage
-
I would like to use a WM_NOTIFY function to manage a slider thumb position change, according this MSN trackbar link TRBN_THUMBPOSCHANGING . Does somebody know why the notification code "TRBN_THUMBPOSCHANGING" for the slider control seems ignored in "WindowsConstants.au3" include file ? Searching in AutoIt or MSN forum , or googling this code, I don't succeed to catch any code info !!! Is it obsolete ? Thanks Alain.
- 2 replies
-
- trbn_thumbposchanging
- slider
-
(and 1 more)
Tagged with:
-
I am attempting to use sliders to create a Q&A report that outputs a log/txt file on a PC/Server...at least I got that to work. I have the sliders set, however I cannot get the number range to show on the GUI correctly. Could use some guidance here. When I output the value of each slider into a log file, the values are really goofed. Could use some more guidance here too. Any help would be greatly appreciated. I am a noob, take pity. I have self abused already! test1.au3
-
This UDF can be used to create a slider with an imagebackground and an image to move. If you like it, please leave me a comment, also if you have any suggestions to make it better or if you found bugs. Edit: Its now possible to set the value of the Slider (__GDIPlusSlider_set($Slider,$value)) GDIPlusSliderUDF.zip
-
Hi, found a post about something like this, but didn't quite get it. The problem here is that i have a slider, and when i click somewhere in the slider, the thingy starts jumping in the direction of the mouse press, but doesn't quite stay where im clicking. Then it seemed like using "_GUICtrlSlider_Create" instead of "GUICtrlCreateSlider" would be a good option, but it messed up everything, as the "GUICtrlSetData" doesn't work with it. What are my options?
-
Hello ! I tried to create 2 slider to set the state of video in my script : #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <SliderConstants.au3> #include <DSEngine.au3> Global $MovieGUI, $VideoPlay, $VideoStop, $VideoOpen, $VideoPos, $VideoVol, $ViewerVideo, $VideoPos2 Global $mVol, $mLength, $mVideoPlaying $MovieGUI = GUICreate("Movie Player", 740, 590, -1, -1, -1) $VideoPlay = GUICtrlCreateButton("PLAY", 20, 520, 100, 50) $VideoStop = GUICtrlCreateButton("STOP", 140, 520, 100, 50) $VideoOpen = GUICtrlCreateButton("OPEN", 260, 520, 100, 50) $VideoSlow = GUICtrlCreateButton("SLOW", 380, 520, 100, 50) $VideoSpeed = GUICtrlCreateButton("SPEED", 500, 520, 100, 50) $VideoPos = GUICtrlCreateSlider(20, 490, 660, 25, $TBS_ENABLESELRANGE) $ViewerVideo = GUICreate("", 660, 400, 20, 70, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_DISABLED, $WS_EX_MDICHILD), $MovieGUI) $VideoPos2 = GUICtrlCreateSlider(0, 380, 660, 25, $TBS_ENABLESELRANGE) GUICtrlSetBkColor(-1, 0x0) GUISetBkColor(0, $ViewerVideo) WinSetTrans($ViewerVideo, "", 220) GUISetState(@SW_SHOW, $ViewerVideo) GUISetState(@SW_SHOW, $MovieGUI) While 1 $MSG = GUIGetMsg() Switch $MSG Case $GUI_EVENT_CLOSE Exit Case $VideoOpen $PathVideo = FileOpenDialog("Open Video", "", "All Video(*.Avi;*.Wmp;*.Mkv;*.Flv;*.Mp4;*.Mpg;*.Ts)|All File(*.*)|Video(*.Avi; *.Wmp)", 1 + 4) PlayVideo($PathVideo) EndSwitch If $mVideoPlaying = True Then ;~ GUICtrlSetState($VideoPos2, $GUI_ONTOP) ; Switch $MSG Case $VideoStop Engine_StopPlayback() GUICtrlSetData($VideoPos, Engine_GetLength()) GUISetBkColor(0x00000, $ViewerVideo) WinSetTrans($ViewerVideo, "", 220) Case $VideoPlay Switch GUICtrlRead($VideoPlay) Case "PLAY" Engine_PausePlayback() GUICtrlSetData($VideoPlay, "PAUSE") Case "PAUSE" Engine_StartPlayback() GUICtrlSetData($VideoPlay, "PLAY") EndSwitch Case $VideoSpeed ; Case $VideoSlow ; EndSwitch ; $mGGCI = GUIGetCursorInfo($MovieGUI) If IsArray($mGGCI) And $mGGCI[4] = $VideoPos And $mGGCI[2] = 1 Then While $mGGCI[2] $mGGCI = GUIGetCursorInfo($MovieGUI) $mPos = GUICtrlRead($VideoPos) Sleep(1) WEnd Engine_SetPosition($mPos) EndIf GUICtrlSetData($VideoPos, Engine_GetPosition()) GUICtrlSetData($VideoPos2, Engine_GetPosition())EndIf WEnd Func PlayVideo($SavePath) If $SavePath <> "" Then Global $mVol = GUICtrlRead($VideoVol) Engine_LoadFile($SavePath, $ViewerVideo) Engine_StartPlayback() $mLength = Engine_GetLength() GUICtrlSetLimit($VideoPos, $mLength, 0) GUICtrlSetLimit($VideoPos2, $mLength, 0)$mVideoPlaying = True EndIf EndFunc ;==>PlayVideoThe slider 2 ($VideoPos2) is hidden while the film is screened, but I want it to be shown. Could you tell me how to do this ? All answers are welcome. DSEngine.zip