2009-05-04 2 views
13

Используя MS Visual Studio, я связал элемент управления спином с элементом управления редактированием, используя свойство «auto buddy».MFC: Почему мой контроль спина работает в обратном направлении

Управление спином меняет поле редактирования, но кнопка «вверх» уменьшает значение, а кнопка «вниз» увеличивает значение.

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

ответ

16

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

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

+0

SetRange32, если вам нужен более широкий диапазон – linquize

12

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

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

+0

+1 для Почему, а также как. – RichieHindle

Смежные вопросы