我使用他们的向导在MS VS 2010中创建了一个新的MFC项目(如果重要,我选择单个文档)。然后,我创建了一个对话框,并从工具箱中拖动了一个新的滑块。使用VS的向导(右键单击对话框 - > gt;添加类)我为我的对话框创建了一个名为MyDialog
的类。接下来,我使用VS的向导将一个变量添加到滑块。
所以,现在,在我的MyDialog
课程中,我有一个CSliderCtrl
,我无法让它发挥作用。
我尝试在SetRange()
中使用SetPos()
和\或OnInitDialog()
但它们会崩溃以编程并抛出异常。
如果我在CSliderCtrl
中创建一个新的OnInitDialog()
并将其设置为SetRange()
,那么它确实有用。
BOOL MyDialog::OnInitDialog()
{
CSliderCtrl *TrackBar = new CSliderCtrl;
TrackBar->Create(WS_CHILD | WS_VISIBLE,CRect(20, 20, 60, 280),this, IDC_SLIDER1);
int min,max;
TrackBar->GetRange(min,max);
TrackBar->SetPos(10);
return TRUE;
}
但这不起作用:
BOOL MyDialog::OnInitDialog()
{
m_mySlider.SetRange(1,100); //sending true\false doesn't matter
return TRUE;
}
有人可以帮我吗?
答案 0 :(得分:0)
从您显示的代码中,您错过了这条重要的路线,
CDialogEx::OnInitDialog();
您应该在上一行之后添加SetRange和SetPos调用。