MFC: почему мой спин-контроль работает в обратном направлении

используя MS Visual Studio, я прикрепил элемент управления spin к элементу управления edit с помощью свойства "auto buddy".

элемент управления вращением изменяет поле редактирования, но кнопка вверх уменьшает значение, а кнопка вниз увеличивает значение.

Как это исправить?

2 ответов


потому что так оно и есть. 8 -) вы работаете вокруг него, используя SetRange.

в документации говорится: "диапазон по умолчанию для кнопки спина имеет максимальное значение ноль (0) и минимальное значение 100. Поскольку максимальное значение меньше минимального, щелчок по стрелке вверх уменьшит позицию, а щелчок по стрелке вниз увеличит ее. Используйте CSpinButtonCtrl::SetRange для настройки этих значений."...без каких-либо объяснений.


причина, по которой он работает таким образом, заключается в том, что управление спином-это просто тонко завуалированная полоса прокрутки, а окна используют систему координат, где строки увеличиваются при движении вниз (поэтому стрелка вниз увеличивает значение).

чтобы исправить это, просто замените значения min и max, которые вы в настоящее время используете при вызове SetRange.