CProgressCtrl

这里创建进度栏;



这里需要一个Class:CProgressCtrl这个类


Fram的OnCreate 中创建CProgressCtrl m_Progress对象;


然后调用他的CProgressCtrl的create()函数创建一个 CProgressCtrl对象;


CProgressCtrl::Create

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);

返回值:如果CProgressCtrl对象被成功创建则返回TRUE;否则返回FALSE。

参数:

dwStyle指定进度条控件的风格。除了Windows风格的任何组合,附加下列进度条控件风格:
·PBS_VERTICAL垂直显示进度信息,从顶到底。没有这个标志,进度条控件从左到右水平显示。
·PBS_SMOOTH逐渐显示,平滑地填充进度条控件。没有这个标志,控件将用块来填充。
rect指定进度条控件的尺寸和位置。它可以是一个CRect对象或者是一个RECT结构。由于此控件必须是一个子窗口,所以指定的坐标是相对于pParentWnd的客户区的。
pParentWind指定进度条控件的父窗口,通常是一个CDialog。它不能是NULL。
nID指定进度条控件的ID。

说明:
你可以分两步来构造一个CProgressCtrl对象。首先调用构造函数来创建CProgressCtrl对象;然后调用Create来创建进度条控件。

这里详细的写了 如何创建一个CProgressCtrl;



现在可以将这个进度栏放在状态栏中, 这里需要rect就行;

CRect rect

m_StatusBar.GetItemRect(index,rect);



然后在这里rect就被设置了第index索引的状态栏; 



但是现在又出现一个问题就是在 重绘的时候 ,发现CprgressCtrl在重绘之后他的大小却没有发生变化


这里就需要 设置状态栏的最终办法设置在状态栏里面;

if(m_CProgressCtrl.m_hWnd == NULL)

{

CRect rect

m_StatusBar.GetItemRect(index,rect);

m_CProgress.Create();

}


else

{

CRect rect

m_StatusBar.GetItemRect(index,rect);


m_CProgress.MoveTo()

}



这里状态栏就不会受重绘的影响了;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值