Is it possible to rotate a slider 180 degrees?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I have a vertical slider, is it possible to rotate it 180 degrees?. The problem is that when I move the slider from top to down the value decreases and I would need the value increases when I move the slider from top to down.
Thank you
Silvia
0 Commenti
Risposta accettata
Jan
il 28 Mag 2013
This is easy, when you consider the different values inside the callback:
function ExampleSlider
sliderH = uicontrol('Style', 'slider', 'position', [10, 10, 20, 100], ...
'Min', 0, 'Max', 1, 'Callback', @CB);
function CB(ObjH, EventData)
value = get(ObjH, 'Value');
disp(value)
Now 1 is written to the command window, if you drag the slider to the top, and 0 for the bottom. Now change the callback to:
function CB(ObjH, EventData)
value = 1 - get(ObjH, 'Value');
disp(value)
E voila, 0 appears for the top and 1 for the bottom. There is no need to rotate the slider, but changing the logic to interpret the slider position is enough.
Più risposte (1)
Hanif
il 30 Mag 2013
Modificato: Matt J
il 26 Gen 2022
function CreateSlider
fig = figure;
Slider = uicontrol(fig,'Style','Slider',...
'Max','100','Min','0','Value','0',...
'SliderStep',[1 1]/100,...
'Position',[20 100 20 50],...
'Callback', @Slider);
end
end
function @Slider(hObj,event) SliderVal = get(hObj,'Value'); NewSliderVal = 100 - SliderVal; disp('NewSliderVal); end
% The slider will still increase when you click up, however NewSliderVal will decrease, and what ever you were using your SliderVal for, just sub in NewSliderVal instead
Vedere anche
Categorie
Scopri di più su 3-D Scene Control in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!