在VC程式設計中,有時需要将一些資訊顯示在狀态欄裡,下面将在狀态欄裡添加資訊的步驟整理如下:
1)
在資源Resource的StringTable中添加字元串标志,例如ID_ONMAP_CURRENT_LOCATION 61477 目前位置
2)
在MainFrm.cpp中indicators的定義中添加字元串标志
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_ONMAP_CURRENT_LOCATION, //添加部分
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
3)
在需要改變狀态欄的地方添加
CString str;
CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);
CStatusBar* pStatusBar = &(pMainFrame->m_wndStatusBar);
if(NULL != pStatusBar)
{
str.Format("longitude = %f latitude = %f ",dfXn,dfYn); //添加字元串的格式
CClientDC dc(this);
CSize sz=dc.GetTextExtent(str); //獲得添加字元串的占的大小
pStatusBar->SetPaneInfo(1,ID_ONMAP_CURRENT_LOCATION,SBPS_NORMAL,sz.cx);//1為索引,ID //,樣式,大小
pStatusBar->SetPaneText(1,str);
}