CSliderCtrl クラス

Windows コモン スライダー コントロールの機能を提供します。

構文

class CSliderCtrl : public CWnd

メンバー

パブリック コンストラクター

名前 説明
CSliderCtrl::CSliderCtrl CSliderCtrl オブジェクトを構築します。

パブリック メソッド

名前 説明
CSliderCtrl::ClearSel スライダー コントロールの現在の選択範囲をクリアします。
CSliderCtrl::ClearTics スライダー コントロールから現在の目盛りを削除します。
CSliderCtrl::Create スライダー コントロールを作成し、 CSliderCtrl オブジェクトにアタッチします。
CSliderCtrl::CreateEx 指定した Windows 拡張スタイルを使用してスライダー コントロールを作成し、 CSliderCtrl オブジェクトにアタッチします。
CSliderCtrl::GetBuddy 特定の場所にあるスライダー コントロールのバディ ウィンドウへのハンドルを取得します。
CSliderCtrl::GetChannelRect スライダー コントロールのチャネルのサイズを取得します。
CSliderCtrl::GetLineSize スライダー コントロールの行サイズを取得します。
CSliderCtrl::GetNumTics スライダー コントロール内の目盛りの数を取得します。
CSliderCtrl::GetPageSize スライダー コントロールのページ サイズを取得します。
CSliderCtrl::GetPos スライダーの現在位置を取得します。
CSliderCtrl::GetRange スライダーの最小位置と最大位置を取得します。
CSliderCtrl::GetRangeMax スライダーの最大位置を取得します。
CSliderCtrl::GetRangeMin スライダーの最小位置を取得します。
CSliderCtrl::GetSelection 現在の選択範囲の範囲を取得します。
CSliderCtrl::GetThumbLength 現在のトラックバー コントロールのスライダーの長さを取得します。
CSliderCtrl::GetThumbRect スライダー コントロールのつまみのサイズを取得します。
CSliderCtrl::GetTic 指定した目盛りの位置を取得します。
CSliderCtrl::GetTicArray スライダー コントロールの目盛り位置の配列を取得します。
CSliderCtrl::GetTicPos 指定した目盛りの位置をクライアント座標で取得します。
CSliderCtrl::GetToolTips スライダー コントロールに割り当てられているツールヒント コントロールのハンドル (存在する場合) を取得します。
CSliderCtrl::SetBuddy スライダー コントロールのバディ ウィンドウとしてウィンドウを割り当てます。
CSliderCtrl::SetLineSize スライダー コントロールの線のサイズを設定します。
CSliderCtrl::SetPageSize スライダー コントロールのページ サイズを設定します。
CSliderCtrl::SetPos スライダーの現在位置を設定します。
CSliderCtrl::SetRange スライダーの最小位置と最大位置を設定します。
CSliderCtrl::SetRangeMax スライダーの最大位置を設定します。
CSliderCtrl::SetRangeMin スライダーの最小位置を設定します。
CSliderCtrl::SetSelection 現在の選択範囲の範囲を設定します。
CSliderCtrl::SetThumbLength 現在のトラックバー コントロールのスライダーの長さを設定します。
CSliderCtrl::SetTic 指定した目盛りの位置を設定します。
CSliderCtrl::SetTicFreq スライダー コントロールの増分ごとの目盛りの頻度を設定します。
CSliderCtrl::SetTipSide トラックバー コントロールで使用されるツールヒント コントロールを配置します。
CSliderCtrl::SetToolTips ツールヒント コントロールをスライダー コントロールに割り当てます。

解説

"スライダー コントロール" (トラック バーとも呼ばれます) は、スライダーとオプションの目盛りを含むウィンドウです。 ユーザーがマウスキーまたは方向キーを使用してスライダーを動かすと、コントロールは変更を示す通知メッセージを送信します。

スライダー コントロールは、ユーザーが範囲内の不連続値または連続する値のセットを選択する場合に便利です。 たとえば、スライダー コントロールを使用して、ユーザーがスライダーを所定の目盛りに動かし、キーボードの繰り返し速度を設定できるようにすることができます。

このコントロール (したがって、 CSliderCtrl クラス) は、Windows 95/98 および Windows NT バージョン 3.51 以降で実行されているプログラムでのみ使用できます。

スライダーは、作成時に指定した増分で移動します。 たとえば、スライダーの範囲を 5 に設定する必要があると指定した場合、スライダーは、スライダー コントロールの左側の位置と、範囲内の増分ごとに 1 つの位置の 6 つの位置のみを占めることができます。 通常、これらの各位置は目盛りによって識別されます。

スライダーを作成するには、コンストラクターとCSliderCtrlCreateメンバー関数を使用します。 スライダー コントロールを作成したら、 CSliderCtrl のメンバー関数を使用して、そのプロパティの多くを変更できます。 加えることができる変更には、スライダーの最小位置と最大位置の設定、目盛りの描画、選択範囲の設定、およびスライダーの位置変更が含まれます。

CSliderCtrlの使用方法の詳細については、「ControlsCSliderCtrlの使用」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CSliderCtrl

要件

ヘッダー: afxcmn.h

CSliderCtrl::ClearSel

スライダー コントロールの現在の選択範囲をクリアします。

void ClearSel(BOOL bRedraw = FALSE);

パラメーター

bRedraw
再描画フラグ。 このパラメーターを TRUEすると、選択範囲がクリアされた後にスライダーが再描画されます。それ以外の場合、スライダーは再描画されません。

CSliderCtrl::ClearTics

スライダー コントロールから現在の目盛りを削除します。

void ClearTics(BOOL bRedraw = FALSE);

パラメーター

bRedraw
再描画フラグ。 このパラメーターが TRUE場合、目盛りがクリアされた後にスライダーが再描画されます。それ以外の場合、スライダーは再描画されません。

CSliderCtrl::Create

スライダー コントロールを作成し、 CSliderCtrl オブジェクトにアタッチします。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwStyle
スライダー コントロールのスタイルを指定します。 Windows SDK で説明されている slider コントロール スタイルの任意の組み合わせをコントロールに適用します。

rect
スライダー コントロールのサイズと位置を指定します。 CRect オブジェクトまたはRECT構造体のいずれかを指定できます。

pParentWnd
スライダー コントロールの親ウィンドウ (通常は CDialog) を指定します。 NULLすることはできません。

nID
スライダー コントロールの ID を指定します。

戻り値

初期化が成功した場合は 0 以外。それ以外の場合は 0。

解説

2 つの手順で CSliderCtrl を構築します。 まず、コンストラクターを呼び出し、 Createを呼び出します。これにより、スライダー コントロールが作成され、 CSliderCtrl オブジェクトにアタッチされます。

dwStyleに設定された値に応じて、スライダー コントロールの向きを垂直方向または水平方向に設定できます。 どちらの側にも両側にも目盛りを付けることもできます。 また、連続する値の範囲を指定するためにも使用できます。

拡張ウィンドウ スタイルをスライダー コントロールに適用するには、Createの代わりにCreateExを呼び出します。

CSliderCtrl::CreateEx

コントロール (子ウィンドウ) を作成し、 CSliderCtrl オブジェクトに関連付けます。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwExStyle
作成するコントロールの拡張スタイルを指定します。 拡張 Windows スタイルの一覧については、Windows SDK のCreateWindowExdwExStyle パラメーターを参照してください。

dwStyle
スライダー コントロールのスタイルを指定します。 Windows SDK で説明されている slider コントロール スタイルの任意の組み合わせをコントロールに適用します。

rect
pParentWndのクライアント座標で、作成するウィンドウのサイズと位置を記述するRECT構造体への参照。

pParentWnd
コントロールの親であるウィンドウへのポインター。

nID
コントロールの子ウィンドウ ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

CreateではなくCreateExを使用して、Windows 拡張スタイルの前置WS_EX_で指定された拡張 Windows スタイルを適用します。

CSliderCtrl::CSliderCtrl

CSliderCtrl オブジェクトを構築します。

CSliderCtrl();

CSliderCtrl::GetBuddy

特定の場所にあるスライダー コントロールのバディ ウィンドウへのハンドルを取得します。

CWnd* GetBuddy(BOOL fLocation = TRUE) const;

パラメーター

fLocation
取得する 2 つのバディ ウィンドウ ハンドルのうちどれを示すブール値。 値は、次のいずれかです。

  • TRUE スライダーの左側にある相棒へのハンドルを取得します。 スライダー コントロールが TBS_VERT スタイルを使用している場合、メッセージはスライダーの上にある相棒を取得します。

  • FALSE スライダーの右側にある相棒へのハンドルを取得します。 スライダー コントロールが TBS_VERT スタイルを使用している場合、メッセージはスライダーの下にある相棒を取得します。

戻り値

fLocationで指定された位置にあるバディ ウィンドウであるCWnd オブジェクトへのポインター。その場所にバディ ウィンドウが存在しない場合はNULL

解説

このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TBM_GETBUDDY の動作が実装されます。 スライダー コントロール スタイルの詳細については、Windows SDK の「 Trackbar コントロール スタイル 」を参照してください。

CSliderCtrl::GetChannelRect

スライダー コントロールのチャネルの外接する四角形のサイズと位置を取得します。

void GetChannelRect(LPRECT lprc) const;

パラメーター

lprc
関数が戻るときにチャネルの外接する四角形のサイズと位置を格納する CRect オブジェクトへのポインター。

解説

チャネルは、スライダーが移動する領域であり、範囲が選択されたときにハイライトが含まれます。

CSliderCtrl::GetLineSize

スライダー コントロールの線のサイズを取得します。

int GetLineSize() const;

戻り値

スライダー コントロールの線のサイズ。

解説

線のサイズは、 TB_LINEUP 通知と TB_LINEDOWN 通知のスライダーの移動量に影響します。 線のサイズの既定の設定は 1 です。

CSliderCtrl::GetNumTics

スライダー コントロール内の目盛りの数を取得します。

UINT GetNumTics() const;

戻り値

スライダー コントロールの目盛りの数。

CSliderCtrl::GetPageSize

スライダー コントロールのページのサイズを取得します。

int GetPageSize() const;

戻り値

スライダー コントロールのページのサイズ。

解説

ページ サイズは、 TB_PAGEUP 通知と TB_PAGEDOWN 通知のスライダーの移動量に影響します。

CSliderCtrl::GetPos

スライダー コントロール内のスライダーの現在位置を取得します。

int GetPos() const;

戻り値

現在位置を返します。

CSliderCtrl::GetRange

スライダー コントロール内のスライダーの最大位置と最小位置を取得します。

void GetRange(
    int& nMin,
    int& nMax) const;

パラメーター

nMin
最小位置を受け取る整数への参照。

nMax
最大位置を受け取る整数への参照。

解説

この関数は、 nMin および nMaxによって参照される整数に値をコピーします。

CSliderCtrl::GetRangeMax

スライダー コントロール内のスライダーの最大位置を取得します。

int GetRangeMax() const;

戻り値

コントロールの最大位置。

CSliderCtrl::GetRangeMin

スライダー コントロール内のスライダーの最小位置を取得します。

int GetRangeMin() const;

戻り値

コントロールの最小位置。

CSliderCtrl::GetSelection

スライダー コントロール内の現在の選択範囲の開始位置と終了位置を取得します。

void GetSelection(
    int& nMin,
    int& nMax) const;

パラメーター

nMin
現在の選択範囲の開始位置を受け取る整数への参照。

nMax
現在の選択範囲の終了位置を受け取る整数への参照。

CSliderCtrl::GetThumbLength

現在のトラックバー コントロールのスライダーの長さを取得します。

int GetThumbLength() const;

戻り値

スライダーの長さ (ピクセル単位)。

解説

このメソッドは、Windows SDK で説明されている TBM_GETTHUMBLENGTH メッセージを送信します。

CSliderCtrl::GetThumbRect

スライダー コントロールのスライダー (つまみ) の外接する四角形のサイズと位置を取得します。

void GetThumbRect(LPRECT lprc) const;

パラメーター

lprc
関数が戻るときにスライダーの外接する四角形を含む CRect オブジェクトへのポインター。

CSliderCtrl::GetTic

スライダー コントロール内の目盛りの位置を取得します。

int GetTic(int nTic) const;

パラメーター

nTic
目盛りを識別する 0 から始まるインデックス。

戻り値

指定した目盛りの位置。有効なインデックス nTic 指定されていない場合は -1。

CSliderCtrl::GetTicArray

スライダー コントロールの目盛りの位置を含む配列のアドレスを取得します。

DWORD* GetTicArray() const;

戻り値

スライダー コントロールの目盛り位置を含む配列のアドレス。

CSliderCtrl::GetTicPos

スライダー コントロール内の目盛りの現在の物理的な位置を取得します。

int GetTicPos(int nTic) const;

パラメーター

nTic
目盛りを識別する 0 から始まるインデックス。

戻り値

クライアント座標での、指定された目盛りの物理的な位置。有効なインデックス nTic 指定しない場合は -1。

CSliderCtrl::GetToolTips

スライダー コントロールに割り当てられているツールヒント コントロールのハンドル (存在する場合) を取得します。

CToolTipCtrl* GetToolTips() const;

戻り値

CToolTipCtrl オブジェクトへのポインター。ツールヒントが使用されていない場合はNULL。 スライダー コントロールで TBS_TOOLTIPS スタイルが使用されていない場合、戻り値は NULL

解説

このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TBM_GETTOOLTIPS の動作が実装されます。 このメンバー関数は、コントロールへのハンドルではなく、 CToolTipCtrl オブジェクトを返します。

スライダー コントロール スタイルの詳細については、Windows SDK の「 Trackbar コントロール スタイル 」を参照してください。

CSliderCtrl::SetBuddy

スライダー コントロールのバディ ウィンドウとしてウィンドウを割り当てます。

CWnd* SetBuddy(
    CWnd* pWndBuddy,
    BOOL fLocation = TRUE);

パラメーター

pWndBuddy
スライダー コントロールのバディとして設定される CWnd オブジェクトへのポインター。

fLocation
バディ ウィンドウを表示する場所を指定する値。 この値には、次のいずれかを指定できます。

  • TRUE トラックバー コントロールが TBS_HORZ スタイルを使用している場合、トラックバーの左側にバディが表示されます。 トラックバーが TBS_VERT スタイルを使用している場合は、トラックバーコントロールの上にバディが表示されます。

  • FALSE トラックバー コントロールが TBS_HORZ スタイルを使用している場合、トラックバーの右側にバディが表示されます。 トラックバーが TBS_VERT スタイルを使用している場合は、トラックバーコントロールの下にバディが表示されます。

戻り値

以前にその場所にあるスライダー コントロールに割り当てられた CWnd オブジェクトへのポインター。

解説

このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TBM_SETBUDDY の動作が実装されます。 このメンバー関数は、戻り値とパラメーターの両方に対してウィンドウ ハンドルではなく、 CWnd オブジェクトへのポインターを使用することに注意してください。

スライダー コントロール スタイルの詳細については、Windows SDK の「 Trackbar コントロール スタイル 」を参照してください。

CSliderCtrl::SetLineSize

スライダー コントロールの線のサイズを設定します。

int SetLineSize(int nSize);

パラメーター

nSize
スライダー コントロールの新しい行サイズ。

戻り値

前の行サイズ。

解説

線のサイズは、 TB_LINEUP 通知と TB_LINEDOWN 通知のスライダーの移動量に影響します。

CSliderCtrl::SetPageSize

スライダー コントロールのページのサイズを設定します。

int SetPageSize(int nSize);

パラメーター

nSize
スライダー コントロールの新しいページ サイズ。

戻り値

前のページ サイズ。

解説

ページ サイズは、 TB_PAGEUP 通知と TB_PAGEDOWN 通知のスライダーの移動量に影響します。

CSliderCtrl::SetPos

スライダー コントロール内のスライダーの現在位置を設定します。

void SetPos(int nPos);

パラメーター

nPos
新しいスライダーの位置を指定します。

CSliderCtrl::SetRange

スライダー コントロールのスライダーの範囲 (最小位置と最大位置) を設定します。

void SetRange(
    int nMin,
    int nMax,
    BOOL bRedraw = FALSE);

パラメーター

nMin
スライダーの最小位置。

nMax
スライダーの最大位置。

bRedraw
再描画フラグ。 このパラメーターが TRUEの場合、範囲を設定した後にスライダーが再描画されます。それ以外の場合、スライダーは再描画されません。

CSliderCtrl::SetRangeMax

スライダー コントロールのスライダーの最大範囲を設定します。

void SetRangeMax(
    int nMax,
    BOOL bRedraw = FALSE);

パラメーター

nMax
スライダーの最大位置。

bRedraw
再描画フラグ。 このパラメーターが TRUEの場合、範囲を設定した後にスライダーが再描画されます。それ以外の場合、スライダーは再描画されません。

CSliderCtrl::SetRangeMin

スライダー コントロールのスライダーの最小範囲を設定します。

void SetRangeMin(
    int nMin,
    BOOL bRedraw = FALSE);

パラメーター

nMin
スライダーの最小位置。

bRedraw
再描画フラグ。 このパラメーターが TRUEの場合、範囲を設定した後にスライダーが再描画されます。それ以外の場合、スライダーは再描画されません。

CSliderCtrl::SetSelection

スライダー コントロールの現在の選択範囲の開始位置と終了位置を設定します。

void SetSelection(
    int nMin,
    int nMax);

パラメーター

nMin
スライダーの開始位置。

nMax
スライダーの終了位置。

CSliderCtrl::SetThumbLength

現在のトラックバー コントロールのスライダーの長さを設定します。

void SetThumbLength(int nLength);

パラメーター

nLength
[in]スライダーの長さ (ピクセル単位)。

解説

このメソッドでは、トラック バー コントロールを TBS_FIXEDLENGTH スタイルに設定する必要があります。

このメソッドは、Windows SDK で説明されている TBM_SETTHUMBLENGTH メッセージを送信します。

最初のコード例では、現在のトラックバー コントロールにアクセスするために使用される変数 ( m_sliderCtrl) を定義します。 この例では、トラックバー コントロールのサム コンポーネントの既定の長さを格納するために使用される変数 ( thumbLength) も定義します。 これらの変数は、次の例で使用します。

// Variable to access the slider control.
CSliderCtrl m_sliderCtrl;
// Length of the slider control's thumb.
int thumbLength;

次のコード例では、トラックバー コントロールのサム コンポーネントを既定の長さの 2 倍に設定します。

// Add extra initialization.

// Modify the size of the slider control's thumb.
// First, set the TBS_FIXEDLENGTH style.
m_sliderCtrl.ModifyStyle(0, TBS_FIXEDLENGTH);
thumbLength = m_sliderCtrl.GetThumbLength();
m_sliderCtrl.SetThumbLength(thumbLength * 2);

// End extra initialization.

CSliderCtrl::SetTic

スライダー コントロールの目盛りの位置を設定します。

BOOL SetTic(int nTic);

パラメーター

nTic
目盛りの位置。 このパラメーターには正の値を指定する必要があります。

戻り値

目盛りが設定されている場合は 0 以外。それ以外の場合は 0。

CSliderCtrl::SetTicFreq

スライダーに目盛りを表示する頻度を設定します。

void SetTicFreq(int nFreq);

パラメーター

nFreq
目盛りの頻度。

解説

たとえば、頻度が 2 に設定されている場合は、スライダーの範囲内のインクリメントごとに目盛りが表示されます。 頻度の既定の設定は 1 です (つまり、範囲内のすべての増分は目盛に関連付けられます)。

この関数を使用するには、 TBS_AUTOTICKS スタイルのコントロールを作成する必要があります。 詳細については、CSliderCtrl::Createを参照してください。

CSliderCtrl::SetTipSide

トラックバー コントロールで使用されるツールヒント コントロールを配置します。

int SetTipSide(int nLocation);

パラメーター

nLocation
ツールヒント コントロールを表示する位置を表す値。 使用可能な値の一覧については、Windows SDK の説明に従って、Win32 メッセージ TBM_SETTIPSIDEを参照してください。

戻り値

ツールヒント コントロールの以前の場所を表す値。 戻り値は、 nLocationで使用可能な値のいずれかと等しくなります。

解説

このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TBM_SETTIPSIDE の動作が実装されます。 TBS_TOOLTIPS スタイルを使用するスライダー コントロールには、ヒントが表示されます。 スライダー コントロール スタイルの詳細については、Windows SDK の「 Trackbar コントロール スタイル 」を参照してください。

CSliderCtrl::SetToolTips

ツールヒント コントロールをスライダー コントロールに割り当てます。

void SetToolTips(CToolTipCtrl* pWndTip);

パラメーター

pWndTip
スライダー コントロールで使用するツールヒントを含む CToolTipCtrl オブジェクトへのポインター。

解説

このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TBM_SETTOOLTIPS の動作が実装されます。 TBS_TOOLTIPS スタイルを使用してスライダー コントロールを作成すると、スライダーの横に表示される既定のツールヒント コントロールが作成され、スライダーの現在位置が表示されます。 スライダー コントロール スタイルの詳細については、Windows SDK の「 Trackbar コントロール スタイル 」を参照してください。

関連項目

MFC サンプル CMNCTRL2
CWnd クラス
階層図
CProgressCtrl クラス