更新时间: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);
}
|