2501,进度控件
CProgressCtrlST
是从MFCCProgressCtrl
类继承的类
.使用此类,你的应用
可有使用位图
的进度栏
,这在许多现代安装程序和游戏
中都可见!
CProgressCtrlST
功能:
1,易用
2,标准CProgressCtrl
方法
3,支持256+
色位图
4,支持负范围
5,支持垂直进度控件
6,包括完整的源码
!
7,在现有应用
中实现成本低
如何整合CProgressCtrlST
到应用中
在你的项目
中包括以下文件
:
ProgressCtrlST.h
ProgressCtrlST.cpp
你还需要一个来绘画进度栏的位图
.如,包含Tile.bmp
并叫它IDB_TILE
.使用对话框编辑器
创建叫IDC_TILED
的进度控件
.
然后为此进度
控件创建一个成员变量
:
CProgressCtrlST m_progressTiled;
现在,给CProgressCtrlST
附加进度控件
.对基于对话框
的应用,请在OnInitDialog
中:
//调用基类方法
CDialog::OnInitDialog();
//创建`IDC_TILED`进度控件
m_progressTiled.SubclassDlgItem(IDC_TILED, this);
或在你的DoDataExchange
中:
//调用`基`方法
CDialog::DoDataExchange(pDX);
//创建`IDC_TILED`进度控件
DDX_Control(pDX, IDC_TILED, m_progressTiled);
该控件
默认有与基MFC
类CProgressCtrl
中相同范围和开始位置
.可用基类的相同方法
(如SetRange
或SetPos
)来修改这些值
.当前不支持OffsetPos
.
默认,像普通进度栏
一样绘画该控件自身
.可赋值一个位图
来取得一个显示它的进度栏
,而不是普通的标准块
!
会平铺此位图
以绘画进度栏
的必要部分
;不会缩放它
.
给进度栏赋值位图
:
//赋值位图
m_progressTiled.SetBitmap(IDB_TILE);
你的进度控件
现在是CProgressCtrlST!
类方法
SetBitmap
(设置位图)
设置用来绘画进度栏
的位图
.
//参数:`[IN]`用作背景的位图的`nBitmap`资源`ID`.传递`无效`以删除以前的位图.`[IN]bRepaint`如果为`真`,则重画控件.返回值:`PROGRESSST_OK`成功执行函数.`PROGRESSST_INVALIDRESOURCE`找不到或加载指定的资源.
DWORD SetBitmap(int nBitmap, BOOL bRepaint = TRUE)
SetBitmap
(设置位图)
设置用来绘画进度栏的位图
.
//参数:`[IN]hBitmap`要用作背景的位图的句柄.传递`无效`以删除以前的位图.`[IN]bRepaint`如果为`真`,则重画控件.返回值:`PROGRESSST_OK`成功执行函数.`PROGRESSST_INVALIDRESOURCE`找不到或加载指定的资源.
DWORD SetBitmap(HBITMAP hBitmap, BOOL bRepaint = TRUE)
设置范围
设置进度栏控件
范围的上限和下限
,并重画进度栏
以反射新的范围
.
//参数:`[IN]nLower`指定范围的下限(默认值为零).`[IN]nUpper`指定范围的上限(默认值为`100`).//
void SetRange(int nLower, int nUpper)
SetStep
指定进度栏控件
的步长增量
.
步进增量
是调用StepIt
增加进度栏
当前位置的量.
//参数:`[IN]nStepNewstepincrement`.返回值:上一步增量.
int SetStep(int nStep)
SetPos
按nPos
的指定
设置进度栏控件
的当前位置
,并重画进度栏
以反映新位置
.
进度栏控件的位置
不是屏幕上的物理位置
,而是在SetRange
中指示
的上限
和下限范围间
.
//参数:`[IN]nPos`进度栏控件的新位置.返回值:进度栏控件的上个位置.
int SetPos(int nPos)
StepIt
进度栏控件
的当前位置前进步长增量
,并重画进度栏
以反映新位置
.
由SetStep
方法设置步骤增量
.
//返回值:进度栏控件的上个位置.
int StepIt()
OnDrawText
每次重画进度栏
时,都会调用此函数
.
它是一个让继承类自画
的虚函数
.
默认实现闲着
.
//参数:`[IN]`指向设环的`pDC`指针.`[IN]nPercentage`进度栏的当前百分比.`[IN]rcCtrl`指示整个控件的维度的`CRect`对象.`[IN]rcProgress`一个`CRect`对象,指示当前显示的条形的大小.如果进度是垂直的,则为`[IN]bVertical`,否则为`假`.//
virtual void OnDrawText(CDC* pDC, int nPercentage, CRect rcCtrl, CRect rcProgress, BOOL bVertical)
GetVersionI
以短值
形式返回类版本
.
//返回值:`Classversion`.除以`10`得到实际版本.
static short GetVersionI()
GetVersionC
以串值
返回类版本
.
//返回值:指向包含类`版本`的以`无效`结尾的串的指针.
static LPCTSTR GetVersionC()
原文地址:https://blog.csdn.net/fqbqrr/article/details/145311469
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!