添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

dwStyle
指定滑块控件的样式。 将 Windows SDK 中所述的 滑块控件样式 的任意组合应用于控件。

rect
指定滑块控件的大小和位置。 它可以 CRect 是对象或 RECT 结构。

pParentWnd
指定滑块控件的父窗口,通常为 CDialog 。 不得为 NULL

nID
指定滑块控件的 ID。

如果初始化成功,则为非零值;否则为0。

可以通过 CSliderCtrl 两个步骤构造。 首先,调用构造函数,然后调用 Create ,它会创建滑块控件,并将其附加到 CSliderCtrl 对象。

根据为设置的 dwStyle 值,滑块控件可以具有垂直或水平方向。 它可以在两侧和两侧都有刻度线,或者两者都不存在。 它还可用于指定连续值的范围。

若要将扩展窗口样式应用于滑块控件,请调用 CreateEx 而不是 Create

CSliderCtrl::CreateEx

创建一个 (子窗口) 的控件,并将其与 CSliderCtrl 对象关联。

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

dwExStyle
指定正在创建的控件的扩展样式。 有关扩展 Windows 样式的列表,请参阅 dwExStyle Windows SDK 中的参数 CreateWindowEx 。

dwStyle
指定滑块控件的样式。 将 Windows SDK 中所述的滑块控件样式的任意组合应用于控件。

rect
对结构的引用 RECT ,该结构描述要创建的窗口的大小和位置(以的 pParentWnd 工作区坐标表示)。

pParentWnd
指向作为控件的父级的窗口的指针。

nID
控件的子窗口 ID。

如果成功,则不为 0;否则为 0。

使用 CreateEx 而不是 Create 来应用扩展的 Windows 样式,该样式由 Windows 扩展样式指定为前言 WS_EX_ 。

CSliderCtrl::CSliderCtrl

构造 CSliderCtrl 对象。

CSliderCtrl();

CSliderCtrl::GetBuddy

检索位于给定位置的滑块控件合作者窗口的句柄。

CWnd* GetBuddy(BOOL fLocation = TRUE) const;

fLocation
一个布尔值,指示要检索的两个合作者窗口句柄中的哪一个。 可以是以下其中一个值:

  • TRUE 检索滑块左侧的合作者的句柄。 如果滑块控件使用 TBS_VERT 样式,则消息会检索滑块上方的合作者。

  • FALSE 检索滑块右侧的合作者的句柄。 如果滑块控件使用 TBS_VERT 样式,则消息会检索滑块下面的合作者。

指向 CWnd 对象的指针,该对象是由 fLocation 指定的位置处的合作者窗口; 如果该位置不存在合作者窗口, NULL 则为。

此成员函数实现 Win32 消息 TBM_GETBUDDY 的行为,如 Windows SDK 中所述。 有关 slider 控件样式的说明,请参阅 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_PAGEDOWN 通知的移动 TB_PAGEUP 进度。

CSliderCtrl::GetPos

检索滑块控件中滑块的当前位置。

int GetPos() const;

当前位置。

CSliderCtrl::GetRange

检索滑块控件中滑块的最大和最小位置。

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

nMin
对接收最小位置的整数的引用。

nMax
对接收最大位置的整数的引用。

此函数将值复制到和 nMax 引用 nMin 的整数中。

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;

滑块的长度(以像素为单位)。

此方法发送 TBM_GETTHUMBLENGTH 消息,如 Windows SDK 中所述。

CSliderCtrl::GetThumbRect

检索滑块控件中滑块 (thumb) 的边框的大小和位置。

void GetThumbRect(LPRECT lprc) const;

lprc
指向 CRect 对象的指针,该对象包含滑块在函数返回时的边框。

CSliderCtrl::GetTic

检索滑块控件中刻度线的位置。

int GetTic(int nTic) const;

nTic
标识刻度线的从零开始的索引。

指定刻度线的位置; 如果 nTic 未指定有效的索引,则为-1。

CSliderCtrl::GetTicArray

检索数组的地址,该数组包含滑块控件的刻度线的位置。

DWORD* GetTicArray() const;

包含滑块控件的刻度线位置的数组的地址。

CSliderCtrl::GetTicPos

检索滑块控件中刻度线的当前物理位置。

int GetTicPos(int nTic) const;

nTic
标识刻度线的从零开始的索引。

指定刻度线的物理位置(以工作区坐标表示),如果 nTic 不指定有效的索引,则为-1。

CSliderCtrl::GetToolTips

检索分配给滑块控件的 tooltip 控件的句柄(如果有)。

CToolTipCtrl* GetToolTips() const;

指向对象的指针,或者 NULL 如果工具提示未使用,则为 CToolTipCtrl 。 如果滑块控件不使用 TBS_TOOLTIPS 样式,则返回值为 NULL 。

此成员函数实现 Win32 消息 TBM_GETTOOLTIPS 的行为,如 Windows SDK 中所述。 请注意,此成员函数将返回一个 CToolTipCtrl 对象,而不是控件的句柄。

有关 slider 控件样式的说明,请参阅 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 之前分配给该位置的滑块控件的对象的指针。

此成员函数实现 Win32 消息 TBM_SETBUDDY 的行为,如 Windows SDK 中所述。 请注意,此成员函数使用指向对象的指针 CWnd ,而不是其返回值和参数的窗口句柄。

有关 slider 控件样式的说明,请参阅 Windows SDK 中的跟踪条控件样式

CSliderCtrl::SetLineSize

设置滑块控件的线条大小。

int SetLineSize(int nSize);

nSize
滑块控件的新行大小。

上一行大小。

线条大小会影响滑块为 和 通知移动 TB_LINEUP 的 TB_LINEDOWN 量。

CSliderCtrl::SetPageSize

设置滑块控件的页面大小。

int SetPageSize(int nSize);

nSize
滑块控件的新页面大小。

上一页大小。

页面大小会影响和 通知的滑块移动TB_PAGEUPTB_PAGEDOWN量。

CSliderCtrl::SetPos

设置滑块控件中滑块的当前位置。

void SetPos(int nPos);

nPos
指定新的滑块位置。

CSliderCtrl::SetRange

设置滑块 (滑块) 的最小和最大位置的范围。

C++复制

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

在滑块控件中设置当前选择的起始位置和结束位置。

C++复制

void SetSelection(
    int nMin,
    int nMax);

nMin
滑块的起始位置。

nMax
滑块的结束位置。

CSliderCtrl::SetThumbLength

在当前跟踪条控件中设置滑块的长度。

void SetThumbLength(int nLength);

nLength
[in]滑块的长度(以像素为单位)。

此方法要求将跟踪条控件设置为样式 TBS_FIXEDLENGTH 。

此方法发送消息TBM_SETTHUMBLENGTH,如 Windows SDK 中所述。

第一个代码示例定义用于 m_sliderCtrl访问当前跟踪条控件的变量 。 该示例还定义了一个 thumbLength变量 ,用于存储跟踪条控件的 thumb 组件的默认长度。 下一个示例将使用这些变量。

C++复制

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

下一个代码示例将跟踪条控件的 thumb 组件设置为其默认长度的两倍。

// 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。

CSliderCtrl::SetTicFreq

设置刻度线在滑块中的显示频率。

void SetTicFreq(int nFreq);

nFreq
刻度线的频率。

例如,如果频率设置为 2,则滑块范围内每隔一个增量都会显示一个刻度线。 频率的默认设置为 1 (,也就是说,范围中的每个增量都与刻度线) 。

必须使用 样式创建 控件 TBS_AUTOTICKS ,以使用此函数。 有关详细信息,请参阅 CSliderCtrl::Create

CSliderCtrl::SetTipSide

定位跟踪条控件使用的工具提示控件。

int SetTipSide(int nLocation);

nLocation
表示显示工具提示控件的位置的值。 有关可能值的列表,请参阅 Win32 消息TBM_SETTIPSIDE,如 Windows SDK 中所述。

一个 值,该值表示工具提示控件的以前位置。 返回值等于 的可能值之一 nLocation

此成员函数实现 Win32 消息的行为TBM_SETTIPSIDE,如 Windows SDK 中所述。 使用样式显示工具 TBS_TOOLTIPS 提示的滑块控件。 有关滑块控件样式的说明,请参阅 Windows SDK 中的 Trackbar 控件样式。

CSliderCtrl::SetToolTips

将工具提示控件分配给滑块控件。

void SetToolTips(CToolTipCtrl* pWndTip);

pWndTip
指向 对象的指针 CToolTipCtrl ,该对象包含要与滑块控件一起使用的工具提示。

此成员函数实现 Win32 消息的行为TBM_SETTOOLTIPS,如 Windows SDK 中所述。 使用样式创建滑块控件 TBS_TOOLTIPS 时,它会创建显示在滑块旁边的默认工具提示控件,并显示滑块的当前位置。 有关滑块控件样式的说明,请参阅 Windows SDK 中的 Trackbar 控件样式。

本例使用例程

CSliderCtrl  cSlider
if (!cSlider.Create(WS_CHILD | WS_VISIBLE|TBS_HORZ| TBS_LEFT| TBS_TOOLTIPS, rect,this,nID))
		TRACE("Failed to create slider control\n");
		return FALSE;
				
Slider滑块控件,也是VC中比较常用的一个控件。一般而言它是由一个滑动条,一个滑块和可选 刻度组成。用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有静 态文本框控件或编辑框控件,用于显示相应的值。 1、设置、取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE ); void GetRange( int& nMin, int& nMax ) const; 2、设置、取得按下左右箭头滑动间隔: int SetLineSiz
CSliderCtrl 表示滑块控件 (Slider Control),也称为跟踪条。滑块控件 (Slider Control) 是一个包含一个滑块和可选刻度线的窗口。当用户使用鼠标或者箭头键移动滑块时,滑块控件 (Slider Control) 发送通知消息以指示此更改。 当希望用户选择一个不连续的值或者某个范围中一组连续值时,滑块控件 (Slider Control) 很有用。例如