可以按下列步骤创建一个状态条:
1.
|
构造CStatusBar对象。
|
2.
|
调用Create(或CreateEx)函数来创建状态条窗口并将它连接到CStatusBar对象。
|
3.
|
调用SetIndicators函数将字符串ID与每一个指示器联系起来。 |
.h中
protected: // 控件条嵌入成员
CStatusBar m_wndStatusBar;
//indicators[]数组
static UINT indicators[] =
{
IDS_STATUSBAR1 //在资源String Table中
};
.cpp中
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
CTime time(CTime::GetCurrentTime() );
CString strText = time.Format("%H:%M:%S");
CClientDC dc(this);
CSize cs = dc.GetTextExtent(strText);
m_wndStatusBar.SetPaneInfo(nIndex,IDS_STATUSBAR1,SBPS_NORMAL,cs.cx );
m_wndStatusBar.SetPaneText(nIndex,strText);
有三种办法可以更新状态条窗口中的文本:
1.
|
调用CWnd::SetWindowText只更新窗格0中的文本。
|
2.
|
在状态条的ON_UPDATE_COMMAND_UI处理程序中调用CCmdUI::SetText函数。
|
3.
|
调用SetPaneText函数更新任何窗格中的文本。 |