• VC学习笔记:状态栏


    VC学习笔记:状态栏

     SkySeraph NOV.24th 2010  HQU

    Email-zgzhaobo@gmail.com  QQ-452728574

    Latest Modified Date:NOV.25th 2010 HQU

    实例学习

    • 1  新建对话框程序
    • 2  为Dlg类添加成员变量数 CStatusBar m_StatusBar;   在对话框上添加进度条控件并关联变量m_Progress
    • 3  在Dlg类OnInitDialg中添加如下代码

    /*新建数组*/

    UINT array[6];

    for(int n=0;n<6;n++)

    {

    array[n] = 1001 +1;//为数组赋值

    }

    /*① 创建状态栏*/

    m_StatusBar.Create(this);//默认ID

    /*② 添加面板*/

    m_StatusBar.SetIndicators(array,sizeof(array)/sizeof(UINT));//求数组元素  【方法】

    /////参数说明:面板ID、数组元素数量

    /*③ 设置面板宽度*/

    CRect rect;

    GetClientRect(rect);

    UINT ParentWidth = rect.Width()/6;

    for( int i=0;i<6;i++)//根据面板数循环

    {

    m_StatusBar.SetPaneInfo(i,array[i],0,ParentWidth);//设置面板宽度

    }

    /*④  设置面板文本*/

    m_StatusBar.SetPaneText(0,"当前用户:");//设置面板文本

    m_StatusBar.SetPaneText(1,"Sky");

    m_StatusBar.SetPaneText(2,"当前状态:");

    //系统时间获取并设置到面板文本上

    CTime time = CTime::GetCurrentTime();

    m_StatusBar.SetPaneText(4,"当前时间:");

    m_StatusBar.SetPaneText(5,time.Format("%Y-%m-%d"));        

    /*⑤  显示状态栏*/

    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//显示状态栏

    /////在状态栏上显示控件 【思路】

    RECT m_rect;

    m_StatusBar.GetItemRect(3,&m_rect);//获得显示控件的面板区域

    //参数说明:面板ID、面板的显示区域

    m_Progress.SetParent(&m_StatusBar);//设置进度条的父窗口为状态栏

    m_Progress.MoveWindow(&m_rect);//

    m_Progress.ShowWindow(SW_SHOW);

    m_Progress.SetRange(0,30);

    m_Progress.SetPos(15);

    /////带滚动字幕的状态栏       待补充。。。

    。。。

    /*⑥ 状态栏随对话框窗口大小而变化*/

    //关于此方法请查阅"界面技巧" 之 "控件大小随窗口而调整"

    m_Resize.SetOwner(this);

    m_Resize.SetResize(AFX_IDW_STATUS_BAR,PK_BOTTOM_LEFT,PK_BOTTOM_RIGHT);//AFX_IDW_STATUS_BAR为状态栏默认的ID

    • 【思路总结】

    创建CStatusBar类变量;创建状态栏create;添加面板setIndicators;设置面板宽度SetPaneInfo;设置面板文本SetPaneText;显示状态栏RepositionBars;状态栏随窗口变化

    • 参考:

    [1] 刘锐宁等.Visual C++从入门到精通[M].北京:清华大学出版社,2009.11

    Author:         SKySeraph

    Email/GTalk: zgzhaobo@gmail.com    QQ:452728574

    From:         http://www.cnblogs.com/skyseraph/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,请尊重作者的劳动成果。


    作者:skyseraph
    出处:http://www.cnblogs.com/skyseraph/
    更多精彩请直接访问SkySeraph个人站点:http://skyseraph.com//
    Email/GTalk: zgzhaobo@gmail.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    根据租户id获取部门树状结构有父子结构的数据list
    JAVA 中 Map 与实体类相互转换的简单方法
    JAVA 实体类List<Entity >转 List<Map>
    在eclipse中怎样查找一个类中的方法在其他哪个类中被调用了?快捷键是什么?
    eclipse项目包层级显示方式调整
    怎样查看JDK是32位还是64位
    python 面向对象专题(十三):元类(二): metaclass魔术方法
    python 面向对象专题(十二):元类(一): metaclass概述
    Hive高级(7):优化(7) 数据倾斜问题剖析
    数据可视化基础专题(二十七):numpy80题(六)NumPy进阶修炼第四期|NumPy最后二十问
  • 原文地址:https://www.cnblogs.com/skyseraph/p/1889952.html
Copyright © 2020-2023  润新知