Я разрабатываю приложение на базе MFC на основе SDI VC++. В моем приложении мне нужно указать отрицательное значение диапазона для моего элемента управления слайдером. Минимальный диапазон для ползунка: -40, а максимальный - 255. Я попробовал его с помощью функции SetRange. Но это не работает. Как я могу установить этот диапазон в ползунке Пожалуйста, помогите ..Как указать отрицательный диапазон для управления ползунком?
Мой код слайдера выглядит следующим образом: Slider объявлен как
CSliderCtrl m_ctrlECTSlider;
OnInitialUpdate функция содержит
m_ctrlECTSlider.SetRangeMin(-40);
int iValMin = m_ctrlECTSlider.GetRangeMin();
m_ctrlECTSlider.SetRangeMax(255);
int iValMax = m_ctrlECTSlider.GetRangeMax();
m_ctrlECTSlider.SetPos(0);
SetDlgItemInt(IDC_ECT_VALUE, m_ctrlECTSlider.GetPos(), FALSE);
SetDlgItemInt(IDC_MIN_ECT, iValMin, FALSE);
SetDlgItemInt(IDC_MAX_ECT, iValMax, FALSE);
OnBnClickedSet функция содержит
int nMin = GetDlgItemInt(IDC_MIN_ECT, 0, FALSE);
int nMax = GetDlgItemInt(IDC_MAX_ECT, 0, FALSE);
m_ctrlECTSlider.SetRange(nMin, nMax);
m_ctrlECTSlider.SetPos(nMin);
int pos = m_ctrlECTSlider.GetPos();
SetDlgItemInt(IDC_ECT_VALUE, m_ctrlECTSlider.GetPos(), FALSE);
m_ctrlECTSlider.RedrawWindow();
Здесь проблема заключается в том, что val ue, возвращаемое во время отладки, все правильно. Но когда дело доходит до UI при запуске минимальное значение - 429496, а не -40 в поле редактирования. Почему именно так. Я разрабатываю SDI-приложение с использованием класса CFormView.
Заранее спасибо.
Диапазон принимает значения <0, если только вы не привязали его к чему-то еще. Возможно, размещение соответствующей части кода может помочь нам разобраться с проблемой. –
Эти части кода были бы лучше с вопросом. Также с объявлением слайдера. –
Не могли бы вы обновить вопрос с помощью кода для объявления, использования и т. Д. Слайдов? –