Изменение размера ползунков для прокрутки мыши - PullRequest
0 голосов
/ 27 января 2019

Когда пользователь щелкает пустое пространство (скользящее пространство) ползунка, ползунок прыгает.Несмотря на то, что я установил 31 шаг (установив размер шага ползунка), при щелчке мышью по пустым местам ползунка всего 3 прыжка, что дает большие сдвиги [21 11 1 значений при каждом щелчке].

Я хочу делать меньшие сдвиги / прыжки при нажатии на пустое пространство слайдера.Картинка объясняет пустое пространство как и прыгает.Я не смог найти какой-либо вариант, чтобы установить эту функцию в настройках слайдера.

У меня есть следующие настройки

ihist=[0:0.0005:0.015];
colors=1:0.01:1.25;
handles.output = hObject;
% % Update slider1 value
guidata(hObject, handles);
maxSliderValue = length(ihist);
minSliderValue = 1;
theRange = maxSliderValue - minSliderValue;
steps = [1/theRange, 10/theRange];
set(handles.slider1, 'SliderStep', steps,'value',1);

Так как общее количество шагов в этом случае составляет 31, следовательно, ползунок не должен двигаться полностью за 3 шага / клика.

enter image description here

1 Ответ

0 голосов
/ 27 января 2019

Возможно, вы неправильно поняли, как работает настройка SliderStep.Цитирование из документации:

Размер шага ползунка, указанный в массиве, [minorstep majorstep].Это свойство контролирует величину изменения значения ползунка, когда пользователь нажимает кнопки со стрелками или впадину ползунка (канал ползунка):

  • minorstep - это доля диапазона ползунка, на которуюсвойство Value увеличивается или уменьшается, когда пользователь нажимает одну из кнопок со стрелками.

  • majorstep - это доля диапазона ползунка, на которую свойство Value увеличивается или уменьшаетсякогда пользователь щелкает ползунок.

В вашем примере [minorstep majorstep] равно [1/theRange, 10/theRange] (или [1/30 1/3] численно), что означает, что вам нужно ровно (1/3)^-1 == 3 щелкает, чтобы пройти весь диапазон.Если вы хотите, чтобы требовалось 30 кликов (обратите внимание, что у вас на 1 интервал меньше, чем положения ползунка, |--|--|), также измените majorstep на 1/theRange.

...