ウィザードを使用して、MS VS 2010 で新しい MFC プロジェクトを作成しました (重要な場合は単一のドキュメントを選択しました)。次に、ダイアログ ボックスを作成し、ツールボックスから新しいスライダーをドラッグしました。VSのウィザードを使用して(ダイアログを右クリック->クラスを追加)、ダイアログのクラスを作成しましたMyDialog. 次に、VS のウィザードを使用して、スライダーに変数を追加しました。
だから今、私のMyDialogクラスには があり、CSliderCtrlそれを機能させることができません。SetRange()and\or SetPos()inを使用しようとしまし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;
}
誰でも私を助けてもらえますか?