Slider控件的使用方法
在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:
主要要方法有:
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 ); //将Tick marks和Auto ticks两个属性同时选中才能看到刻度,在下拉框中可以选择刻度的显示位置
实例:
在对话框中放一个Slider控件,添加相应的Ctrl型变量为m_slider。在对话框初始化函数OnInitDialog()中添加:
BOOL CDlgSetup::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_slider.SetRang(0,100);//设置滑动范围
m_slider.SetTicFreq(10);//每10个单位画一刻度
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
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 即为当前滑块的值。
当有多个slider控件时,我的处理方法,自认为还是比较巧妙的
void CCameraParamDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
UINT* pD;
CSliderCtrl* pS = (CSliderCtrl*)pScrollBar;
if((void*)pScrollBar == (void*)&m_ctrH)
pD = &m_H;
else if((void*)pScrollBar == (void*)&m_ctrV)
pD = &m_V;
else if((void*)pScrollBar == (void*)&m_ctrNx)
pD = &m_nX;
else if((void*)pScrollBar == (void*)&m_ctrNy)
pD = &m_nY;
else if((void*)pScrollBar == (void*)&m_ctrNz)
pD = &m_nZ;
else if((void*)pScrollBar == (void*)&m_ctrUx)
pD = &m_uX;
else if((void*)pScrollBar == (void*)&m_ctrUy)
pD = &m_uY;
else if((void*)pScrollBar == (void*)&m_ctrUz)
pD = &m_uZ;
*pD = pS->GetPos();
UpdateData(FALSE);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
Slider控件的使用方法相关推荐
- 控件的呈现方法(Rendering)的内核
Asp.net中所有的控件都是从System.Web.UI.Control类,在control类中定义了三个与呈现有关的方法,分别是Render方法,RenderChildren方法和RenderCo ...
- Jquery获得控件值的方法
一 Jquery获得服务器控件值的方法 由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法: 服务器控件代码:<a ...
- Android 软键盘弹出时把布局顶上去,控件乱套解决方法
Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...
- c语言windows 编程下silder控件,VB6 常用控件 滚动条ScorllBar和Slider控件
滚动条(ScorllBar)和Slider控件通常用来附在窗体上以协助观察数据或确定位置,也可用来作为数据输入的工具. 滚动条(ScorllBar)和Slider控件都有水平和垂直两种,Slider控 ...
- 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )
文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...
- 一个查看UI5控件所有公有方法的小技巧
一个很小的tip:比如我想把UI5表格控件里的每列设置成宽度根据显示的内容自适应,需要知道应该调用控件的哪个方法来实现. 一种办法当然是查SAP帮助文档,得知需要调用控件的公有方法setAutoSiz ...
- 继续聊WPF——Slider控件
Slider控件,讲行通俗一点就是我们很常见的滑块,控件的外观上显示一系例刻度值,并存在一个可以被拖动的滑块,用户可以通过拖动滑块来控制控件的值. 如下图所示,是Windows系统的音量调节滑块. 下 ...
- 一个查看 SAP UI5 控件所有公有方法的小技巧
一个很小的tip:比如我想把UI5表格控件里的每列设置成宽度根据显示的内容自适应,需要知道应该调用控件的哪个方法来实现. 一种办法当然是查SAP帮助文档,得知需要调用控件的公有方法setAutoSiz ...
- html asp textbox,ASP.NET中 TextBox 文本输入框控件的使用方法
TextBox控件又称文本框控件,为用户提供输入文本的功能. 1.属性 TextBox控件的常用属性及说明如表1所示. 表1 TextBox控件常用属性及说明 属性 说明 AutoPostBack 获 ...
- android组件用法说明,Android第三方控件PhotoView使用方法详解
Android第三方控件PhotoView使用方法详解 发布时间:2020-10-21 15:06:09 来源:脚本之家 阅读:74 作者:zhaihaohao1 PhotoView的简介: 这是一个 ...
最新文章
- html5网页怎么实现内容追加,纯js实现网页内容复制后自动追加自定义内容
- python实用性函数分享_分享|3个开源的 Python Shell
- [转]js实现简单的双向数据绑定
- 直播围观!百度大脑智能监控如何为安全生产保驾护航?
- Scanner和BufferedReader从控制台读取输入数据
- 自动驾驶算法-滤波器系列(一)——详解卡尔曼滤波原理
- (17)机器学习_集成学习
- Spring源码下载并导入Idea
- ffmpeg 下载网上m3u8的视频文件
- word单页(或中间几页)横向显示
- HTML移动端 实现刻度尺效果
- 细谈永恒之蓝,实现复现
- 如何快速删除微博下拉词
- 用java编写图形用户界面_Java编写图形用户界面程序
- ibm服务器 产品型号对应表,IBM服务器配件型号及编号列表
- 小程序设置边框border
- java 有指针吗_java中到底有没有指针(转)
- 3---条形图(matplotlib)
- 11月份Aidlux智慧交通AI安全实战--(目标检测+安全算法)
- mysql做十亿条数据查询_数据库优化:mysql数据库单机数十亿数据查询设计