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
,如需转载请自行联系原作者