• MFC 学习 之 状态栏的添加


    1、首先声明一个
      CStatusBar  m_bar;//声明对象
    2、然后打开视图资源 String Table中添加两个字段值
      

    3、创建了两个字段值以后,在OnintDialog() 所在的 .cpp文件的最上面添加如下代码
      

    static BASED_CODE indicators[]={
        ID_INDICATOR_NISH,
        ID_INDICATOR_TIME
    };

    4、然后增加一个成员函数代码如下:

    BOOL CDormDlg::InitStatusBar()
    {
    	m_bar.Create(this);//创建状态栏
    	m_bar.SetIndicators((unsigned int *)indicators,sizeof(indicators)/sizeof(UINT));
    	
    	CRect rect;
    	GetClientRect(&rect);
    
    	//设置各栏长度
    	m_bar.SetPaneInfo(0,ID_INDICATOR_NISH,SBPS_NORMAL,rect.Width()-150);
    	m_bar.SetPaneInfo(1,ID_INDICATOR_TIME ,SBPS_STRETCH,0);
    
    	RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,ID_INDICATOR_REC);//自动填充用户区域的窗口
    	
    	m_bar.GetStatusBarCtrl().SetBkColor(RGB(180,180,180));//设置状态栏颜色
    	return TRUE;
    	
    }
    

    5、添加一个时间获取事件

    代码如下:

    void CDormDlg::OnTimer(UINT nIDEvent) 
    {
        // TODO: Add your message handler code here and/or call default
        if(nIDEvent == 100)
        {
            CTime t1;
            t1=CTime::GetCurrentTime();
        //    m_bar.SetPaneText(1,t1.Format("%Y-%M-%F:%H:%M:%S"));
                m_bar.SetPaneText(1,t1.Format("  %Y-%m-%d  %H:%M:%S"));
        }
    
        CDialog::OnTimer(nIDEvent);
    }

    5、代码调用在OnInitDialog()中添加

        InitStatusBar();
        SetTimer(100,1000,NULL );

    6、运行程序结果如下:

  • 相关阅读:
    mybatis-databaseIdProvider多数据库支持
    mysql-高性能索引策略
    mysql-冗余和重复索引
    mybatis-枚举类型的typeHandler&自定义枚举类型typeHandler
    mybatis-自定义typeHandler
    mysql-覆盖索引
    单例模式
    mybatis实战教程一:开发环境搭建
    MySQL分页查询优化
    深入组件
  • 原文地址:https://www.cnblogs.com/haoyuanyuan/p/3158277.html
Copyright © 2020-2023  润新知