MFC: Почему мой спин-контроль работает в обратном направлении
-
03-07-2019 - |
Вопрос
Используя MS Visual Studio, я добавил элемент управления вращением к элементу редактирования, используя функцию " auto buddy " имущество. Р>
Элемент управления вращением изменяет поле редактирования, но кнопка «вверх» уменьшает значение, а кнопка «вниз» увеличивает значение. Р>
Как это исправить?
Решение
Потому что так оно и есть. 8-) Обойти это можно с помощью SetRange код>
.
Документация гласит: «Диапазон по умолчанию для кнопки прокрутки имеет максимум, установленный на ноль (0), и минимум, установленный на 100. Поскольку максимальное значение меньше минимального значения, нажатие стрелки вверх приведет к уменьшению позиции и нажатие стрелки вниз увеличит его. Используйте CSpinButtonCtrl :: SetRange для настройки этих значений. & Quot; ... без всякого приличного объяснения.
Другие советы
Причина, по которой он работает таким образом, заключается в том, что элемент управления вращением - это просто тонко завуалированная полоса прокрутки, а окна используют систему координат, в которой строки увеличиваются при перемещении вниз (поэтому стрелка вниз увеличивает значение).
Чтобы исправить это, просто поменяйте минимальное и максимальное значения, которые вы используете в данный момент при вызове SetRange.