我正在开发一个基于 MFC 的 SDI VC++ 应用程序。在我的应用程序中,我需要为我的滑块控件指定负范围值。Slider 的最小范围是 -40,最大范围是 255。我使用 SetRange 函数进行了尝试。但它不起作用。如何在滑块中设置此范围?请帮助..
我的 Slider 代码如下: 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();
这里的问题是调试期间返回的值都是正确的。但是在运行 UI 时,最小值是 429496 而不是 -40 在编辑框中..为什么会这样..我正在使用 CFormView 类开发 SDI 应用程序..
提前致谢。