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
してください。
継承階層
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_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 のトラック バー コントロール スタイルに関するページを参照してください。
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_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 のトラック バー コントロール スタイルに関するページを参照してください。
CSliderCtrl::SetToolTips
ツールヒント コントロールをスライダー コントロールに割り当てます。
void SetToolTips(CToolTipCtrl* pWndTip);
パラメーター
pWndTip
スライダー コントロールで CToolTipCtrl
使用するヒントを含むオブジェクトへのポインター。
解説
このメンバー関数は、Windows SDK で説明されているように、Win32 メッセージ TBM_SETTOOLTIPS
の動作を実装します。 スタイルを使用してスライダー コントロールを TBS_TOOLTIPS
作成すると、スライダーの横に表示される既定のツールヒント コントロールが作成され、スライダーの現在位置が表示されます。 スライダー コントロール スタイルの説明については、Windows SDK のトラック バー コントロール スタイルに関するページを参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示