且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

VC对话框上添加状态栏

更新时间:2022-09-15 12:32:38

VC在对话框上添加状态栏,没有可视化的控件,要用类来创建。

1、在窗口.h文件中添加成员变量 CStatusCtrl  m_status;

2、在窗口的OnInitDialog函数中添加创建代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
RECT     m_Rect;     
GetClientRect(&m_Rect);         //获取对话框的矩形区域  
m_Rect.top = m_Rect.bottom-20;    //设置状态栏的矩形区域  
m_Status.Create(WS_CHILD|WS_VISIBLE|CBRS_BOTTOM,m_Rect,this,3);    
   
int nPanel[4]= {100, 300, 300,-1};      //分割尺寸  
m_Status.SetParts(4, nPanel);  //分割状态栏  
m_Status.SetText(_T("这是第一个指示器"),0,0); //第一个分栏加入"这是第一个指示器"  
m_Status.SetText(_T("这是第二个指示器"),1,0); //以下类似  
   
//在第三个窗格中加入ID为IDR_MAINFRAME的图标  
m_Status.SetIcon(3,SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME),FALSE));  
m_Status.ShowWindow(SW_SHOW);  
   
SetTimer(0,1000,NULL);

3、在定时器中改变第一个状态栏panel内容,为当前时间

1
2
3
4
5
6
7
8
9
void CTestDLLDlg::OnTimer(UINT_PTR nIDEvent)  
{  
    CTime t1 = CTime::GetCurrentTime();  
    CString date = t1.Format("%Y-%m-%d %H:%M:%S");  
    m_Status.SetText(date,0,0);  
   
   
    CDialogEx::OnTimer(nIDEvent);  
}













本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/1968313 ,如需转载请自行联系原作者