天天看點

狀态欄程式設計

在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);

 }

繼續閱讀