zoukankan      html  css  js  c++  java
  • 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、运行程序结果如下:

  • 相关阅读:
    NumPy笔记:运算符(exp,sqrt,square)
    NumPy笔记:常用操作
    php字符操作
    laravel如何实现批量插入
    php中@符号的作用
    laravel如何实现数据的批量插入
    如何在laravel框架中使用阿里云的oss
    laravle如何设置mysql数据表前缀
    thinkphp视图中如何调用并且向控制器传参数
    thinkphp如何隐藏入口文件index.php
  • 原文地址:https://www.cnblogs.com/haoyuanyuan/p/3158277.html
Copyright © 2011-2022 走看看