可以按下列步驟創(chuàng)建一個狀態(tài)條:
1.
|
構(gòu)造CStatusBar對象。
|
2.
|
調(diào)用Create(或CreateEx)函數(shù)來創(chuàng)建狀態(tài)條窗口并將它連接到CStatusBar對象。
|
3.
|
調(diào)用SetIndicators函數(shù)將字符串ID與每一個指示器聯(lián)系起來。 |
.h中
protected: // 控件條嵌入成員
CStatusBar m_wndStatusBar;
//indicators[]數(shù)組
static UINT indicators[] =
{
IDS_STATUSBAR1 //在資源String Table中
};
.cpp中
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("未能創(chuàng)建狀態(tài)欄\n");
return -1; // 未能創(chuàng)建
}
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);
有三種辦法可以更新狀態(tài)條窗口中的文本:
1.
|
調(diào)用CWnd::SetWindowText只更新窗格0中的文本。
|
2.
|
在狀態(tài)條的ON_UPDATE_COMMAND_UI處理程序中調(diào)用CCmdUI::SetText函數(shù)。
|
3.
|
調(diào)用SetPaneText函數(shù)更新任何窗格中的文本。 |