Visual C++に含まれるスライダーコントロール(CSliderCtrl)の使い方をご紹介します。


ここではスライダーのIDはIDC_SLIDER1とします。
スライダーはあらかじめリソースエディタなどでウィンドウに追加しておいてください。
スライダーの最小値・最大値を設定する
はじめにスライダーで調節できる値の範囲を設定しましょう。
範囲を設定するには、SetRange関数を使用します。
((CSliderCtrl*)GetDlgItem(IDC_SLIDER1))->SetRange(0, 100);
((CSliderCtrl*)GetDlgItem(IDC_SLIDER1))
でスライダーのポインタを呼び出し、SetRange関数で範囲を指定しています。ここでは0~100で変更できるようにしました。
スライダーの値を取得する
スライダーの値(位置)を取得するには、GetPos関数を実行します。
int val = ((CSliderCtrl*)GetDlgItem(IDC_SLIDER1))->GetPos();
GetPos関数はスライダーが示す値をint型で返します。
スライダーを移動したときに任意の処理を実行するには?
スライダーの値が変更されたときに処理を実行したいときは、ダイアログ(ウィンドウ)のHScrollイベントを登録します。
void CMFCApplication1Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: ここにメッセージ ハンドラー コードを追加するか、既定の処理を呼び出します。
}
スライダーの値を設定する
スライダーの値を指定し任意の位置にするには、SetPos関数を実行します。
((CSliderCtrl*)GetDlgItem(IDC_SLIDER1))->SetPos(dwCurrentBrightness);
実行すると、プログラム的にスライダーの位置を変更することができます。
コメント