GSI

'CStatusBar'에 해당되는 글 1건

  1. 2008.01.15 [C++, MFC] 상태바(CStatusBar) 추가 하기

상태바를 추가 해서 툴을 적용할때 각종 정보들을 출력할 수 있습니다.

1. 리소스 기호를 추가 합니다.

사용자 삽입 이미지
2. String Table 에 추가 합니다.
사용자 삽입 이미지

3. 해당 내용을 추가 합니다.

static UINT indicators[] =
{
// ID_SEPARATOR,           // 상태 줄 표시기
 ID_INDICATOR_INFO0,      // 추가한 상태바
 ID_INDICATOR_INFO1,      // 추가한 상태바
 ID_INDICATOR_INFO2,      // 추가한 상태바
 ID_INDICATOR_INFO3,      // 추가한 상태바
 ID_INDICATOR_CAPS,
 ID_INDICATOR_NUM,
 ID_INDICATOR_SCRL,
};

4. 메인 프레임 사이즈 조정시 상태바의 크기도 조절 되도록 한다.

void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
 CFrameWnd::OnSize(nType, cx, cy);

 if(m_wndStatusBar.m_hWnd != NULL)
 {
  int width = cy - 90;

  m_wndStatusBar.SetPaneInfo(0, ID_INDICATOR_INFO0, SBPS_NORMAL|SBPS_STRETCH, width/4);
  m_wndStatusBar.SetPaneInfo(1, ID_INDICATOR_INFO1, SBPS_NORMAL|SBPS_STRETCH, width/4);
  m_wndStatusBar.SetPaneInfo(2, ID_INDICATOR_INFO2, SBPS_NORMAL|SBPS_STRETCH, width/4);
  m_wndStatusBar.SetPaneInfo(3, ID_INDICATOR_INFO3, SBPS_NORMAL|SBPS_STRETCH, width/4);
  m_wndStatusBar.SetPaneInfo(4, ID_INDICATOR_INFO3, SBPS_NORMAL|SBPS_STRETCH, 30);
  m_wndStatusBar.SetPaneInfo(5, ID_INDICATOR_INFO3, SBPS_NORMAL|SBPS_STRETCH, 30);
  m_wndStatusBar.SetPaneInfo(6, ID_INDICATOR_INFO3, SBPS_NORMAL|SBPS_STRETCH, 30);
 }
}

5. 문자열을 바꿀때는 SetPaneText()를 사용한다.

m_wndStatusBar.SetPaneText(0, str0);  // 0은 인덱스, str0은 문자열

Posted by gsi
: