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




解决VC滚动条16位限制 tag: 滚动条, OnVScroll, 16位, 32位,SB_THUMBTRACK, SCROLLINFO , nTrackPos

被这东西困扰了半天,郁闷;特留下记录,希望能帮你在这上面少浪费时间。   OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){   ...

为程序界面添加滑动条--createTrackbar()

createTrackbar( ) 作用:创建一个滚动条并把它附加到特定的窗口中。 形式:int createTrackbar(const string& trackbarname, cons...

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

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

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

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

VC控件 滑动条Slider

在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:   1、设置、取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRedraw...
  • ypist
  • ypist
  • 2013年01月01日 15:37
  • 4144

MFC中 滑动条控件 Slider Control 的添加

第一次添加控件,开始在网上找教程,发现好多教程写的不适合新手上路。自己现在把整个过程回顾一下,给自己个交代。 ____________________________________________...

slider(滑动条)控件模版,样式--用图片定义控件模版

初接触wpf,想自己用图片做一个个性slider滑块控件,网上找了很久无果。后来一些机缘巧合看别人源码的时候找到了类似的,然后自己再查了一下msdn,大概弄懂了。   我们先来看看slid...
  • X___V
  • X___V
  • 2013年02月21日 17:16
  • 1768

滑动条(Slider)插件

由于公司需求要重新设计一下滑动条插件,这个以前的是别人写的,虽然功能上没什么问题,但是十分”不友好“,每一个滑动条都编上了一个号,这样在js去操作的时候如果不熟悉,还需要查看一下这个编号对应是哪一个滑...

Slider滑动条精确定位

  • 2011年10月24日 19:34
  • 10KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ATL 滑动条控件Slider CTrackBarCtrl
举报原因:
原因补充:

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