ウィザードを使用して、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;
}
誰でも私を助けてもらえますか?