2

我使用他们的向导使用 MS VS 2010 创建了一个新的 MFC 项目(如果重要,我选择了单个文档)。然后,我创建了一个对话框,并从工具箱中拖动了一个新滑块。使用 VS 的向导(右键单击对话框->添加类)我为我的对话框创建了一个名为MyDialog. 接下来,我使用 VS 的向导将变量添加到滑块。

所以现在,在我的MyDialog课堂上,我有一个CSliderCtrl但我无法让它工作。我尝试使用SetRange()and\or SetPos()inOnInitDialog()但它们在编程时崩溃并引发异常。

如果我创建一个新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;
}

任何人都可以帮助我吗?

4

1 回答 1

0

从您显示的代码中,您错过了这一重要行,

       CDialogEx::OnInitDialog();

您应该在上述行之后添加 SetRange 和 SetPos 调用。

于 2016-04-29T15:21:21.093 回答