MFC: Почему мой спин-контроль работает в обратном направлении
Используя MS Visual Studio, я привязал элемент управления спином к элементу управления редактированием, используя свойство "auto buddy".
Управление спином меняет поле редактирования, но кнопка вверх уменьшает значение, а кнопка "вниз" увеличивает значение.
Как вы это исправите?
Ответы
Ответ 1
Потому что так оно и есть. 8-) Вы обходите это с помощью SetRange
.
В документации говорится: "Диапазон по умолчанию для кнопки" Спин "имеет максимальное значение, равное нулю (0), а минимальное значение равно 100. Поскольку максимальное значение меньше минимального значения, нажатие стрелки вверх уменьшает позицию и нажатие стрелки вниз увеличивает его. Используйте CSpinButtonCtrl:: SetRange для настройки этих значений."... без каких-либо достойных объяснений.
Ответ 2
Причина, по которой он работает, заключается в том, что управление спином - это просто завуалированная полоса прокрутки, а окна используют систему координат, где строки увеличиваются по мере перемещения вниз (поэтому стрелка вниз увеличивает значение).
Чтобы исправить это, просто замените минимальные и максимальные значения, которые вы используете при вызове SetRange.