加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 正文

 
C++辅导:定制应用程序外观
来源:fjzsksw.com 2009-12-18 编辑:yangmeiling 【字体:小 大】
C++辅导:定制应用程序外观

 9.5创建进度条

  MFC中,有一个CProgressCtrl的类,如果要创建一个进度条,首先需要创建一个CProgressCtrl类的对象,然后调用Create成员函数来创建。MSDN中给出了一个相关的实例程序:

  1 CProgressCtrl myCtrl;

  2 // Create a smooth child progress control.

  3 myCtrl.Create(WS_CHILD|WS_VISIBLE|PBS_SMOOTH, CRect(10,10,200,30),

  4 pParentWnd, 1);

  如何要在状态栏中创建一个进度条?

  状态栏属于框架类,在状态栏中创建进度条,首先同样需要获取创建的区域。这之前需要String表中添加进度条的字串。然后将字串ID添加到

  1 static UINT indicators[] =

  2 {

  3 ID_SEPARATOR,           // status line indicator

  4 ID_INDICATOR_CAPS,

  5 ID_INDICATOR_NUM,

  6 ID_INDICATOR_SCRL,

  7 IDS_PROGRESS,//用来显示进度条区域

  8 };

  为了获取进度条所处于的区域,可以调用GetItemRect函数。

  void GetItemRect(index,LPRECT lprect) const;其中第一个参数为状态栏中网格的在indicators[]中的索引号。由于OnCreate函数实际上是响应的WM_ OnCreate函数,只有在这个函数完成之后才能获取到状态栏的矩形区域。因此需要在此处添加一个消息响应函数,等窗口创建完成之后,发送生成进度条消息。

  MFC的每个标准消息都有一个消息编号,要创新一个新的消息,首先要创建消息编号。

  1、 在Frame的头文件中添加一个消息标识宏#define UM_PROGRESS WM_USER+1;

  2、 按照标准消息的格式和流程,分别在头文件和源文件中添加消息映射

  头文件:

  1 //{{AFX_MSG(CMainFrame)

  2 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

  3 afx_msg void OnTimer(UINT nIDEvent);

  4 afx_msg void OnPaint();

  5 afx_msg void OnProgress();//消息

  6 //}}AFX_MSG

  源文件:

  1 //{{AFX_MSG_MAP(CMainFrame)

  2 ON_WM_CREATE()

  3 ON_WM_TIMER()

  4 ON_WM_PAINT()

  5 ON_MESSAGE(UM_PROGRESS,OnProgress) //消息

  6 //}}AFX_MSG_MAP



 
  • 上一个文章:

  • 下一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章
    热门文章

    报名考试
    全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
    青海 | 宁夏 | 甘肃 | 新疆 | 陕西
    西藏 | 北京 | 天津 | 河北 | 山东
    江苏 | 安徽 | 河南 | 上海 | 浙江
    福建 | 广东 | 山西 | 湖南 | 湖北
    江西 | 广西 | 海南 | 云南 | 贵州
    四川 | 重庆
    分省高校计算机考试
    黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
    北京 | 天津 | 新疆 | 甘肃 | 宁夏
    青海 | 陕西 | 山西 | 河南 | 山东
    江苏 | 安徽 | 浙江 | 福建 | 广东
    海南 | 广西 | 江西 | 湖北 | 湖南
    四川 | 上海 | 重庆 | 贵州 | 云南
    西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导
    计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
    经验交流
    高校计算机