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
の使用方法の詳細については、「ControlsとCSliderCtrl
の使用」を参照してください。
継承階層
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 のCreateWindowEx
の dwExStyle
パラメーターを参照してください。
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 コントロール スタイル 」を参照してください。