进度条控件

使用进度条显示操作进度:

进度条控件封装在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控件(三)(进度条控件和滑块控件)相关推荐

  1. VC用MFC开发的圆形进度条控件

    DownLoad Src VC用MFC开发的圆形进度条控件 visualsan@yahoo.cn NUAA zss 在NBA2007游戏里,还有很多科幻电影里,经常可以看到圆形进度条.有的用来显示导弹 ...

  2. android基础 [超级详细android常用控件解析(ScollView控件,ProgressBar进度条,PopupWindow控件)]

    目录 1 章节目录 2 ScollView控件 2.1 ScrollView简介 2.2 ScrollView使用 2.3 常用属性及方法 3 ProgressBar进度条 3.1 简介 3.2 常用 ...

  3. Android基础控件ProgressBar进度条的使用

    1.简介 ProgressBar继承与View类,直接子类有AbsSeekBar和ContentLoadingProgressBar, 其中AbsSeekBar的子类有SeekBar和RatingBa ...

  4. Android之解决VideoView控件的进度条位置摆放问题和打开播放黑屏问题

    1 问题 VideoView控件如何配合MediaController使用,就会显示进度条,但是位置摆放在最底部,不是我们想要的结果 2.基本使用 private var mMediaControll ...

  5. Android中的常用控件之进度条(ProgressBar)

    ProgressBar的常用属性 style(进度条的样式,默认为圆形:用style="?android:attr/progressBarStyleHorizontal"可以将进度 ...

  6. recovery升级是显示进度条_注意!税控系统软件升级了,还有疑问看这里!

    开票软件升级后,不少纳税人表示软件升级过程中遇到不少问题.可能各省税控系统软件升级存在功能和界面的少许差异,敬请纳税人咨询当地税务机关或其指定的服务商,按其要求操作.今天,整理了北京.上海等地纳税人在 ...

  7. MFC创建处理中进度条,循环滚动进度条的方法

    创建一个不显示实际进度的循环滚动进度条,类似于Windows XP启动界面的进度条 新建一个MFC项目TestProgress,编辑界面,添加一个进度条,两个按钮,实现点击start进度条循环滚动,点 ...

  8. MFC控件 --- 进度条【案例】

    打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉.对于MFC进度条的使用,下面用一个案例介绍一下. 案例:进度条单步加载和自动连续加载 步骤: 1.按下图在对话框中添加 ...

  9. ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件...

    本篇要登场的有三个控件,分别是滚轴控件.进度条控件和编辑控件. 一.滚轴控件 Ext.slider 1.滚轴控件的定义 下面我们定义三个具有代表意义滚轴控件,分别展示滚轴横向.纵向,以及单值.多值选择 ...

  10. [转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件...

    作者:李盼(Lipan) 出处:[Lipan] (http://www.cnblogs.com/lipan/) 版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其 ...

最新文章

  1. 创建分辨率自适应的Windows Phone 8应用程序
  2. LeetCode 300. 最长上升子序列(Longest Increasing Subsequence)
  3. ACL Beginner Contest 总结——F多项式待补
  4. java 指针 地址压缩_JVM优化之压缩普通对象指针(CompressedOops)
  5. linux然后防止ip欺骗,linux – 如何在iptables中防止ip欺骗?
  6. Live Performer for Mac(音频演奏录制软件)v1.0.1
  7. 单闭环直流调速系统仿真实验
  8. 魔兽世界选择服务器未响应,魔兽世界7.0军团再临常见技术性问题解决方案汇总...
  9. 习题——路由与交换机技术(五)
  10. 《让荧光舞一直挥舞下去》
  11. 向量叉乘算子、点乘算子与矩阵运算的关系
  12. 在线炒股天载分析市场呈现出一片跌势
  13. 负载均衡的计算方法和含义
  14. JMeter开发一个最简单的Sampler
  15. 北航新版选课系统科学选课教程
  16. 苹果9是5g手机吗_苹果手机可以量体温?这是真的吗
  17. ed2k 网络中搜索资源并选择资源下载的分析及eMule源码梳理
  18. smartq ten3 android4,SmartDevices智器SmartQ Ten3平板电脑Android 4.1固件
  19. 感受5.12汶川大地震
  20. EDMA SEED 例程

热门文章

  1. BT5新的征程!全民***计划!
  2. WPF中实现PropertyGrid的三种方式
  3. Android 打aar包
  4. Luogu1886 滑动窗口 /【模板】单调队列
  5. vgremore 删除卷组
  6. groupmod 修改用户组信息
  7. matlab多种显示格式一起用,[转载]MATLAB支持的几种图像文件格式
  8. 如何在手机上编码python_如何在Python中进行热编码?
  9. php反射机制详解,PHP反射机制
  10. pdo怎么建mysql表_PDO操作数据库的基本步骤