可以按下列步驟創建一個狀態條:
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函數更新任何窗格中的文本。 |