当前位置:网站首页>VS2019 MFC动态创建EDIT控件 ,CSliderCtrl类成员函数Create应用创建Slider Control控件[MFC动态创建控件四]
VS2019 MFC动态创建EDIT控件 ,CSliderCtrl类成员函数Create应用创建Slider Control控件[MFC动态创建控件四]
2022-07-18 01:52:00 【lzc881012】
CSliderCtrl::Create
创建滑块控件,并将其附加到 CSliderCtrl 对象。
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
参数
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;
}
边栏推荐
- CH549/CH548学习笔记6 - 读取芯片ID
- 同花顺软件炒股线上开户收费吗?开户安全吗?
- The NFT market pattern has not changed. Can okaleido set off a new round of waves?
- 野指针问题: 复习橙其技术
- Ch549/ch548 learning notes 8 - USB device interrupt processing
- 支付宝上怎么买基金,安全吗
- 文件上传通用测试点归纳总结
- Fiddler: add IP column
- How to buy funds on Alipay? Is it safe
- 啥是图神经网络?
猜你喜欢

MySQL - autoincrement constraint of table fields

Chapter 4: emerging, class instantiation strategy with constructor based on cglib
![Leetcode 565 array nesting [dfs memory] the way of leetcode in heroding](/img/d3/1d0f6668d9543136c729153bdebff0.png)
Leetcode 565 array nesting [dfs memory] the way of leetcode in heroding

干货!综合的公平冷启动推荐系统

What is graph neural network?

MySQL - adjust column constraints

ROS与STM32通信的实现

JMeter 21 天打开 day11

UGUI源码解析——RectMask2D

Fiddler:增加IP列
随机推荐
阿里云OSS图床搭建方法
[C language] 10000 word document operation summary
What is graph neural network?
Fiddler:增加IP列
CH549/CH548学习笔记6 - 读取芯片ID
Nacos注册表是怎么解决读写并发冲突的
二手房房价分析与预测(图表绘制避免中文乱码、饼形图、折线图、条形图(柱形图)、enumerate函数、数据清洗(lambda\map)、二手房预测(scikit-learn))
05.位图和比较器的简单应用
The NFT market pattern has not changed. Can okaleido set off a new round of waves?
Realization of communication between ROS and stm32
在网上办理基金开户业务安全吗?在校大学生求指导
Explore Alibaba cloud IOT development board 1-haas 100
Read the paper: temporary graph networks for deep learning on dynamic graphs
How to buy funds on Alipay? Is it safe
圆环形材质mask
VOS中开启媒体转发功能后,计算几种常用编码所需占用的带宽量
MySQL - default value constraint for table fields
How is flush software stock online free?? Is it safe to open an account?
Flask模板
CH549/CH548学习笔记3 - UART