slider滑块用法

原创 2012年03月26日 20:08:15

Slider用法:

1、设置、取得滑动范围:

  void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE );
  void GetRange( int& nMin, int& nMax ) const;
 
2、设置、取得按下键盘上左右箭头滑动间隔:

  int SetLineSize( int nSize );
  int GetLineSize( ) const;
 
3、设置、取得按下键盘上PgUp、PgDown时滑动间隔:

  int SetPageSize( int nSize );
  int GetPageSize( ) const;
 4、设置、取得滑块位置:

void SetPos( int nPos );
  int GetPos( ) const;

5、设置滑动条刻度的频度:

  void SetTicFreq( int nFreq );

 6、用函数SetTic来在指定位置设置刻度.Windows自动显示的刻度是均匀的,利用该函数可以人为设置不均匀的刻度

  BOOL SetTic( int nTic );

 7、用函数ClearTics来清除所有的刻度

  void ClearTics( BOOL bRedraw = FALSE );

 在对话框中放一个Slider控件,为其关联相应的Ctrl型变量为m_slider。vc 2008中关联方法为:在控件上右击,add variable。在vc6.0中,右击class wizard中添加。在基于dialog的mfc程序中,该控件的初始化即设置范围等放在OnInitDialog()中,若是文档视图的mfc应用程序(视图基类为CFormView),则该控件的初始化放在C****View的OnInitialUpdate函数中

该控件的消息:

NM_CUSTOMDRAW,是子控件通知其父控件它已经完成重画功能,对Slider来说也就是我们每次鼠标按住滑块移动一下就能使滑块向拥有该滑块的Slider产生一个NM_CUSTOMDRAW消息,以便用户实时获得移动滑块时的是实时值。

NM_RELEASEDCAPTURE,是子控件被鼠标按住拖动到适当位置以后鼠标释放时子控件向父控件产发送的消息,对于Slider来说就是每次滑块被鼠标拖曳完鼠标释放的时候滑块给Slider发送的消息。

还有一个消息就是NM_OUTOFMEMORY,是当没有足够内存来相应子控件时向父控件发送的消息。

而在vc2008中又添加了两个消息NM_THEMECHANGED和TRBN_THUMBPOSCHANGING

Slider控件本身并没有响应滑动的消息函数,但可以通过主窗体的OnHScroll()响应。在类向导中为对话框添加WM_HSCROLL消息,在响应函数中添加:

 void CDlgSetup::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
 {
     // TODO: Add your message handler code here and/or call default
     CSliderCtrl   *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
     m_int=pSlidCtrlHue->GetPos();//取得当前位置值  
     CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
 }

//m_int 即为当前滑块的值。

 Scroll bar用法:

滚动条通常用于浏览显示内容、确定位置,也可以作为数据输入的工具。通过编程控制,可以为不具备滚动能力的控件提供滚动功能。在实际应用中,滚动条也常用作数量、速度的指示器,如在一些多媒体中用来控制音量、画面的滚动速度等。

滚动条分为水平滚动条HScrollBar)和垂直滚动条VScrollBar)两种,分别用工具箱中的 工具绘制。在滚动条的两端各有一个带箭头的按钮,中间有一个滑块。当滚动条位于最左端或顶端时,表示其值最小,反之为最大。除了方向之外,水平滚动条和垂直滚动条的动作是相同的。

1.滚动条的常用属性

滚动条除支持Enabled、Height、Left、Caption、Top、Visible、Width等标准属性外,还有几个表示滚动条取值的常用属性,见表4-6-1。

表4-6-1滚动条的常用属性

属性

说明

Max

该属性用于设置滚动条所表示的最大值,为滑动块在右(或下)端时的值。默认值为32767,其取值范围为-32767~32767。

Min

该属性用于设置滚动条所表示的最小值,为滑动块在左(或上)端时的值。默认值为0,其取值范围为-32767~32767。

Value

该属性返回或设置滑动块当前位置的值,如果用户拖动滑动块,Value属性值随之改变,它的取值始终介于Max和Min属性值之间(包括这两个值)。若在程序中对该属性赋值,则会根据数值移动滚动块的位置。注意不能把Value属性的值设在Min和Max范围之外。

LargeChange

该属性用于设定当用鼠标单击滑动块和箭头之间的区域(不包括滑动块)时,Value属性值的增量或减量,该属性的默认值为1,取值范围为1~32767。

SmallChange

该属性用于设定当用户单击滚动箭头时,Value属性值的变化量,该属性的默认值为1,取值范围为1~32767。

2.滚动条的常用事件

滚动条能响应的事件主要有以下几种,其中最常用的是Change和Scroll事件。

Change    Scroll    KeyDown    KeyUp    KeyPass    LostFocus   GetFocus

⑴ Change事件

当单击滚动箭头、单击滚动条区域或拖动滑动块结束时将触发Change事件。

Scroll事件

当在滚动条内拖动滑动块时触发该事件。

在程序运行中,每当滚动条的Value属性发生变化时,就发生Change事件。而每当用户用鼠标单击滚动箭头、单击滑动块与箭头之间的区域或沿着滚动条拖拉滑动块的动作结束时,滚动条的Value属性就发生变化。

尽管拖动滑动块会引起Value属性的变化,从而触发Change事件,但在滚动条内拖动滑动块时,并不发生Change事件,此时将触发Scroll(滚动)事件。

在实际编程中,常用Scroll事件来跟踪滚动条在拖动时数值的变化。由于在单击滚动条或滚动箭头时,将产生Change事件,因此常利用Change事件来获得滚动条变化后的最终值。

 

Qt之QSlider

简述QSlider部件提供了一个垂直或水平滑动条。滑块是一个用于控制有界值的典型部件。它允许用户沿水平或垂直方向移动滑块,并将滑块所在的位置转换成一个合法范围内的值。简述 详细描述 刻度位置 基本使用...
  • u011012932
  • u011012932
  • 2016年08月24日 14:59
  • 10682

Qt基础学习(3)-----滑动条之QSlider

//mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include class QLineEdit; class QSlider; c...
  • qiurisuixiang
  • qiurisuixiang
  • 2011年10月23日 12:19
  • 41674

视频播放器制作(OpenCV+MFC)

1.新建一个MFC工程,工程名VideoPlayer,选择使用静态库,添加控件如上图所示。修改控件的属性:Picture控件ID--->IDC_VIEW;滑动条控件 --->为此控件绑定一个CSlid...
  • luoshixian099
  • luoshixian099
  • 2015年11月10日 13:48
  • 3491

Qt自定义带游标的slider,在滑块正上方显示当前值

首先自定义QSlider的子类MyCustomSlider,如下所示。 mycustomslider.h #ifndef MYCUSTOMSLIDER_H #define MYCUSTOMSLIDER...
  • caoshangpa
  • caoshangpa
  • 2016年07月20日 23:25
  • 5325

qt slider scroll bar 进度条 自定义(通过style sheet)

http://doc.qt.nokia.com/4.6-snapshot/stylesheet-examples.html
  • newnewman80
  • newnewman80
  • 2011年02月28日 16:10
  • 6221

Qt之QSlider的使用方法

参考:http://blog.csdn.net/liang19890820/article/details/52299600 QSlider部件提供了一个垂直或水平滑动条。滑块是一个用于控制有界值的...
  • zong596568821xp
  • zong596568821xp
  • 2018年01月07日 11:42
  • 85

Qt自定义带游标的slider,在滑块正上方显示当前值

  • 2016年07月20日 23:33
  • 5KB
  • 下载

基于Bootstrap的jQuery slider插件的使用bootstrap-slider.js

一、插件介绍 这是一款在原生bootstrap slider的基础上制作效果非常炫酷的jQuery slider插件。该slider插件可以自定义slider的颜色、形状、透明度和tooltip等属性...
  • u011127019
  • u011127019
  • 2016年11月01日 09:18
  • 18216

Qt QSlider点击和拖动

终于有时间写点东西了~~自从毕业到现在仅仅4个月我却在两个公司上过班了。才做了不到两个月的工作辞掉了,为了自己的兴趣,在这里鼓励有强烈追求的人勇敢的做自己想做的事,做自己喜欢的工作! 来到一个新公司,...
  • T20091
  • T20091
  • 2013年11月09日 14:18
  • 4585

【Qt】QSlider 再来一个圆形滑块

QSlider::groove:horizontal,QSlider::add-page:horizontal{ height:3px; border-radius:3px; background:#...
  • Qyee16
  • Qyee16
  • 2016年06月13日 21:12
  • 2148
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:slider滑块用法
举报原因:
原因补充:

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