MFC控件(三)(进度条控件和滑块控件)
进度条控件
使用进度条显示操作进度:
进度条控件封装在CProgressCtrl类中。
1、
SetRange和SetRange32方法用来设置进度条显示范围。
语法格式:
void SetRange(short nLower, short nUpper);
void SetRange32(int nLower, int nUpper);
nLower:最小值,默认0;
nUpper:最大值。
SetRange方法设置进度条范围在短整型范围,SetRange32可在整数范围。
2、
设置进度条进度:SetPos方法
int SetPos(int nPos);
nPos:表示设置的新进度。返回值为之前的进度。
3、
获得进度条进度:GetPos方法
int GetPos();
返回值为当前显示进度。
示例:
静态文本控件变量:CStatic m_Number;
进度条控件变量:CProgressCtrl m_Progress;
按钮单击事件:OnStart
void CProgressDemoDlg::OnStart()
{
const int nMaxValue = 99999;
m_Progress.SetRange32(0,nMaxValue);
for(int i = 0; i<nMaxValue; i++)
{
m_Progress.SetPos(i);
char szNumber[20] = {0};
itoa(i, szNumber, 10);
m_Number.SetWindowText(szNumber);
}
}
注:
itoa方法:将整数转化为字符串
第三个参数:表示进制。(上例为十进制)
滑块控件:
与进度条控件使用类似:
SetRange设置范围
SetPos设置进度
GetPos获得当前进度
使用示例:
picture控件:框架类型
关联变量:CStatic m_Area;
文本框控件关联变量:
UINT m_nRvalue;
UINT m_nGvalue;
UINT m_nBvalue;
进度条控件关联变量:
CSliderCtrl m_RSlider;
CSliderCtrl m_GSlider;
CSliderCtrl m_BSlider;
1、为对话框类添加成员变量:COLORREF m_cColor;
2、对话框初始化时:
m_RSlider.SetRange(0,255);
m_GSlider.SetRange(0,255);
m_BSlider.SetRange(0,255);
m_cColor = RGB(0,0,0);
3、为对话框类添加WM_HSCROLL消息响应函数,进度条滑动时就会响应。
(若是竖直进度条,则添加WM_VSCROLL响应函数)
void CPickColorDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if (nSBCode == SB_THUMBTRACK)
{
if (pScrollBar->m_hWnd == m_RSlider.m_hWnd)
{
m_nRValue = nPos;
UpdateData(FALSE);
}
if (pScrollBar->m_hWnd == m_GSlider.m_hWnd)
{
m_nGValue = nPos;
UpdateData(FALSE);
}
if (pScrollBar->m_hWnd == m_BSlider.m_hWnd)
{
m_nBValue = nPos;
UpdateData(FALSE);
}
}
m_clColor = RGB(m_nRValue, m_nGValue, m_nBValue);
UpdateArea();
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
4、上面提到的UpdateArea()函数,用于更新图片控件区域的颜色显示
需要在对话框类中添加成员函数:
public: void UpdateArea()
代码如下:
void CPickColorDlg::UpdateArea()
{
CDC* pDC = m_Area.GetDC();
CRect clientRC;
m_Area.GetClientRect(clientRC);
pDC->FillRect(clientRC,&CBrush(m_cColor));
m_Area.ReleaseDC(pDC);
}
5、OnPaint()中也要添加UpdateArea();
6、为文本框控件添加EN_CHANGE消息响应函数。(当更改文本框内容时,滑块和Picture控件要做出相应响应)
代码如下:
void CPickColorDlg::OnChangeBvalue()
{
UpdateData(TRUE);
m_BSlider.SetPos(m_nBValue);
UpdateArea();
}
void CPickColorDlg::OnChangeRvalue()
{
UpdateData(TRUE);
m_RSlider.SetPos(m_nRValue);
UpdateArea();
}
void CPickColorDlg::OnChangeGvalue()
{
UpdateData(TRUE);
m_GSlider.SetPos(m_nGValue);
UpdateArea();
}
MFC控件(三)(进度条控件和滑块控件)相关推荐
- VC用MFC开发的圆形进度条控件
DownLoad Src VC用MFC开发的圆形进度条控件 visualsan@yahoo.cn NUAA zss 在NBA2007游戏里,还有很多科幻电影里,经常可以看到圆形进度条.有的用来显示导弹 ...
- android基础 [超级详细android常用控件解析(ScollView控件,ProgressBar进度条,PopupWindow控件)]
目录 1 章节目录 2 ScollView控件 2.1 ScrollView简介 2.2 ScrollView使用 2.3 常用属性及方法 3 ProgressBar进度条 3.1 简介 3.2 常用 ...
- Android基础控件ProgressBar进度条的使用
1.简介 ProgressBar继承与View类,直接子类有AbsSeekBar和ContentLoadingProgressBar, 其中AbsSeekBar的子类有SeekBar和RatingBa ...
- Android之解决VideoView控件的进度条位置摆放问题和打开播放黑屏问题
1 问题 VideoView控件如何配合MediaController使用,就会显示进度条,但是位置摆放在最底部,不是我们想要的结果 2.基本使用 private var mMediaControll ...
- Android中的常用控件之进度条(ProgressBar)
ProgressBar的常用属性 style(进度条的样式,默认为圆形:用style="?android:attr/progressBarStyleHorizontal"可以将进度 ...
- recovery升级是显示进度条_注意!税控系统软件升级了,还有疑问看这里!
开票软件升级后,不少纳税人表示软件升级过程中遇到不少问题.可能各省税控系统软件升级存在功能和界面的少许差异,敬请纳税人咨询当地税务机关或其指定的服务商,按其要求操作.今天,整理了北京.上海等地纳税人在 ...
- MFC创建处理中进度条,循环滚动进度条的方法
创建一个不显示实际进度的循环滚动进度条,类似于Windows XP启动界面的进度条 新建一个MFC项目TestProgress,编辑界面,添加一个进度条,两个按钮,实现点击start进度条循环滚动,点 ...
- MFC控件 --- 进度条【案例】
打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉.对于MFC进度条的使用,下面用一个案例介绍一下. 案例:进度条单步加载和自动连续加载 步骤: 1.按下图在对话框中添加 ...
- ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件...
本篇要登场的有三个控件,分别是滚轴控件.进度条控件和编辑控件. 一.滚轴控件 Ext.slider 1.滚轴控件的定义 下面我们定义三个具有代表意义滚轴控件,分别展示滚轴横向.纵向,以及单值.多值选择 ...
- [转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件...
作者:李盼(Lipan) 出处:[Lipan] (http://www.cnblogs.com/lipan/) 版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其 ...
最新文章
- 创建分辨率自适应的Windows Phone 8应用程序
- LeetCode 300. 最长上升子序列(Longest Increasing Subsequence)
- ACL Beginner Contest 总结——F多项式待补
- java 指针 地址压缩_JVM优化之压缩普通对象指针(CompressedOops)
- linux然后防止ip欺骗,linux – 如何在iptables中防止ip欺骗?
- Live Performer for Mac(音频演奏录制软件)v1.0.1
- 单闭环直流调速系统仿真实验
- 魔兽世界选择服务器未响应,魔兽世界7.0军团再临常见技术性问题解决方案汇总...
- 习题——路由与交换机技术(五)
- 《让荧光舞一直挥舞下去》
- 向量叉乘算子、点乘算子与矩阵运算的关系
- 在线炒股天载分析市场呈现出一片跌势
- 负载均衡的计算方法和含义
- JMeter开发一个最简单的Sampler
- 北航新版选课系统科学选课教程
- 苹果9是5g手机吗_苹果手机可以量体温?这是真的吗
- ed2k 网络中搜索资源并选择资源下载的分析及eMule源码梳理
- smartq ten3 android4,SmartDevices智器SmartQ Ten3平板电脑Android 4.1固件
- 感受5.12汶川大地震
- EDMA SEED 例程