Is it possible to rotate a slider 180 degrees?

조회 수: 6 (최근 30일)
Silvia
Silvia 2013년 5월 28일
편집: Matt J 2022년 1월 26일
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

채택된 답변

Jan
Jan 2013년 5월 28일
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.

추가 답변 (1개)

Hanif
Hanif 2013년 5월 30일
편집: Matt J 2022년 1월 26일
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

카테고리

Help CenterFile Exchange에서 3-D Scene Control에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by