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 つの位置のみを占めることができます。 通常、これらの各位置は目盛りによって識別されます。

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

使用の詳細については、「コントロールと使用CSliderCtrl」を参照CSliderCtrlしてください

継承階層

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 で説明されているスライダー コントロール スタイルの任意の組み合わせをコントロールに適用します。

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

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 の dwExStyle パラメーター CreateWindowEx を参照してください。

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

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

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

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

戻り値

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

解説

Windows 拡張スタイルのCreate前書WS_EX_きで指定された拡張 Windows スタイルを適用する代わりに使用CreateExします。

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 のトラック バー コントロール スタイルに関するページを参照してください

CSliderCtrl::GetChannelRect

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

void GetChannelRect(LPRECT lprc) const;

パラメーター

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

解説

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

CSliderCtrl::GetLineSize

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

int GetLineSize() const;

戻り値

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

解説

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

CSliderCtrl::GetNumTics

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

UINT GetNumTics() const;

戻り値

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

CSliderCtrl::GetPageSize

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

int GetPageSize() const;

戻り値

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

解説

ページ サイズは、スライダーと通知の移動量にTB_PAGEUPTB_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 のトラック バー コントロール スタイルに関するページを参照してください

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 のトラック バー コントロール スタイルに関するページを参照してください

CSliderCtrl::SetLineSize

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

int SetLineSize(int nSize);

パラメーター

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

戻り値

前の行サイズ。

解説

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

CSliderCtrl::SetPageSize

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

int SetPageSize(int nSize);

パラメーター

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

戻り値

前のページ サイズ。

解説

ページ サイズは、スライダーと通知の移動量にTB_PAGEUPTB_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 のトラック バー コントロール スタイルに関するページを参照してください

CSliderCtrl::SetToolTips

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

void SetToolTips(CToolTipCtrl* pWndTip);

パラメーター

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

解説

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

関連項目

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