c++ATL 滑动条控件Slider CTrackBarCtrl

原创 2015年07月07日 16:10:25

1、获取滑动条控件

因为wfc中滑动条控件的名字和ATL中是不一样的

在wfc中叫做CSliderCtrl 在ATL中叫做CTrackBarCtrl

CTrackBarCtrl  pSlidCtrl=(CTrackBarCtrl)GetDlgItem(IDC_SLIDER_ALAEM_TIME);

2、基本设置

pSlidCtrl.SetRange(0,120);设置slider的范围
pSlidCtrl.SetTicFreq(15);//设置刻度间隔,如果想要将刻度显示出来需要将TBS_AUTOTICKS| WS_TABSTOP这两个属性设置上,同时 TBS_TOOLTIPS如果

想显示出提示条 则需要设置一下该属性,当然你也可以设置滑动条横放还是竖放

 这是我所设置的最终的效果图


3、其他设置函数

简单的记录一下其他的一些常用的函数

BOOL ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0)修改样式

void SetThumbLength(int nLength)设置thumb的长

void SetPos(int nPos)设置进度条位置

UINT GetPos() const 获取进度条位置

当然还有很多别的函数

4、事件响应

响应的是事件WM_HSCROLL

例如

LRESULT BDAlarmStatusFilDlg::OnHScroll(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)

CTrackBarCtrl  pSlidCtrl=(CTrackBarCtrl)GetDlgItem(IDC_SLIDER_ALAEM_TIME);

if (wParam==SB_ENDSCROLL) 
{
int m_nCur=pSlidCtrl.GetPos();//取得当前滑块位置值

}

}

你可以选择在滑动的时候直接响应用户,同时也可以在用户完鼠标松开的时候响应,上面函数SB_ENDSCROLL的意思就是在滑动结束用户松开鼠标的时候对进行事件的响应

#define SB_LINEUP           0
#define SB_LINELEFT         0
#define SB_LINEDOWN         1
#define SB_LINERIGHT        1
#define SB_PAGEUP           2
#define SB_PAGELEFT         2
#define SB_PAGEDOWN         3
#define SB_PAGERIGHT        3
#define SB_THUMBPOSITION    4
#define SB_THUMBTRACK       5
#define SB_TOP              6
#define SB_LEFT             6
#define SB_BOTTOM           7
#define SB_RIGHT            7
#define SB_ENDSCROLL        8

如果你采用的是竖放的滑动条那么事件响应需要使用WM_VSCROLL




OpenCV2中滑动条(Trackbar)回调函数的小发现

滑动条(Track)是*OpenCV*动态调节的辅助工具,如果只有0和1两个数值,还可以作为开关。 网上有相当多的成品代码可以使用,但是介于篇幅的问题,基本上都是用全局变量这种不安全的编码方式写出来的...
  • u014291399
  • u014291399
  • 2015年08月20日 18:08
  • 1038

ATL中自画播放器进度条(SLIDER)

  我在写播放器时发现在网上可以说是没有很好的开源的进度条,我也曾找到过几个,但是他们都不能满足我的要求,而且使用的时候精度也很差,不是很精确。在我前面写的文章中也有我自己封装的进度条控件,但是那是我...
  • wanghaisheng
  • wanghaisheng
  • 2010年04月13日 21:50
  • 1440

ATL中自画播放器进度条(SLIDER)

  • 2010年04月13日 22:51
  • 45KB
  • 下载

c++ATL中的checkbox控件

1、ATL中checkbox是属于CButton的控件 2、如何设置checkbox的初始状态 CButton ckNormal=(CButton)GetDlgItem(IDC_BD_CHECK_...
  • luofutongxin
  • luofutongxin
  • 2015年07月07日 14:55
  • 316

VC++中轻松实现滑动(Slider)控件

滑动控件是Windows中最常用的控件之一。一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示...
  • superbfly
  • superbfly
  • 2013年09月11日 13:39
  • 2185

Nicescroll滚动条插件的用法

Nicescroll滚动条插件是一个非常强大的基于JQUERY的滚动条插件,不需要增加额外的css,几乎全浏览器兼容。ie6+,实现只需要一段代码,侵入性非常小,样式可完全自定义,支持触摸事件,可在触...
  • mss359681091
  • mss359681091
  • 2016年10月17日 13:50
  • 21448

COCOS学习笔记--滑动条Slider及其控件属性

一.Slider介绍 Slider就是滑动条。游戏中我们经常会用到这一控件,我们可以通过滑动条这一控件来人为控制某些数值的范围变化,比如控制游戏的音量大小、界面的颜色亮度等。 Slider也和co...
  • gzy252050968
  • gzy252050968
  • 2016年04月04日 14:31
  • 6410

【Unity 3D】学习笔记六:Slider控件(滑动条)

Unity 学习笔记六   学习资料:《Unity 3D游戏开发》 宣雨松   在应用中,有时需要调节音量大小或者是屏幕亮度之类的,因此我们就得用上Slider控件。 Slider控件由滑...
  • u013289188
  • u013289188
  • 2014年06月05日 09:48
  • 4287

[VC/MFC]滑动动条控件Slider的用法

在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:主要要方法有:1、设置、取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRedra...
  • dongzhongshu
  • dongzhongshu
  • 2010年06月17日 10:02
  • 18042

Quick-Cocos2d-x UI控件之滑动条(UISlider)控件

滑动条控件也叫轨道条控件,它有一条轨道和可以滑动的块。滑动条能与用户交互,通过图像量化的方式改变底层逻辑的数值。 我们来看看具体的滑动条,如下图: Quick 中的 UISilder 控件...
  • linking530
  • linking530
  • 2015年01月21日 16:41
  • 2656
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ATL 滑动条控件Slider CTrackBarCtrl
举报原因:
原因补充:

(最多只允许输入30个字)