how to make a passive slider in GUIDE?

Hello, I would like to know how I can make a slider 'passive'. Passive means the slider will move to show progress but the user cannot adjust or move the slider. This will make the slider move like in movie player but not clickable or drag-able. Can I do that? Thanks!

 Accepted Answer

Hi!
First of all, you have to open the slider's options and set 'Enable' to 'inactive', so the user cannot change the slider's position. Then, to set the position of the slider, you use its handle:
newvalue = 0.5;
set(handles.slider1,'Value',newvalue);

7 Comments

that works! thanks.
How this works?
I tried changing the slider properties of Enable to inactive and run the GUI, the slider is not select-able. But now i tried to code the slider callback and the slider is not visible. Did I do something wrong?
As the most likely appearing warning messages in the command window tell, the slider is not drawn, if the values are outside the defined span. So check the 'Min' and 'Max' properties.
I have set the 'min' to 0, 'max' to 100.
How can I code the value of the slider to update with the increase of a variable value?
My code:
function pushbutton1_Callback(hObject, eventdata, handles)
hTEST = getappdata (0, 'hTEST');
updateSlider;
function updateSlider
hTEST = getappdata (0 , 'hTEST' );
sliderValue = getappdata (hTEST, 'currentNum');
set (handles.slider1, 'Value' , sliderValue)
function slider1_Callback(hObject, eventdata, handles)
hTEST = getappdata (0, 'hTEST');
currentNum = getappdata (hTEST, 'currentNum' );
set (hObject, 'Value' , currentNum)
This return error:
??? Undefined variable "handles" or class "handles.slider1".
Error in ==> TEST>updateSlider at
set (handles.slider1, 'Value' , sliderValue)
Error in ==> TEST>pushbutton1_Callback at
updateSlider;
Thanks!
In order to use the handles in another function, you have to pass it as an argument to the updateslider function:
function pushbutton1_Callback(hObject, eventdata, handles)
hTEST = getappdata (0, 'hTEST');
updateSlider(handles);
function updateSlider(handles)
hTEST = getappdata (0 , 'hTEST' );
sliderValue = getappdata (hTEST, 'currentNum');
set (handles.slider1, 'Value' , sliderValue)
...
...
...
Firzi Mukhri
Firzi Mukhri on 28 May 2013
Edited: Firzi Mukhri on 28 May 2013
Thank you so much Mari! it really works...

Sign in to comment.

More Answers (0)

Categories

Find more on App Building in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!