본문 바로가기
C & C++/MFC 컨트롤

[상태바] 실행시 CStatues Bar 의 Prompt 문자열 제어하기

by izen8 2011. 4. 7.
반응형
다국어 지원 프로그램을 테스트 하다 필요해 찾아본 정보인다. 메뉴나 툴바의 Prompt String 을 지정하면 실행시 마우스로 가리킬때 상태바에 Prompt String 이 출력된다.

실행시에 이 메세지를 변경을 해야할 필요가 있어 그 방법을 찾아 보았다.

실생시에 Prompt String을 제어하기 위해서는 MainFrame 의 GetMessageString 함수를 재정의(Override)하면 된다.

GetMessageString 은 다음과 같은 원형을 갖고 있다. (MSDN 발췌)

virtual void GetMessageString(
   UINT nID,
   CString& rMessage
) const;

Parameters

nID
    Resource ID of the desired message.

rMessage
    CString object into which to place the message.

GetMessageString 함수를 재정의 하며 필요한 컨트롤의 Prompt String 을 실생 시간에 제어할 수 있다.
아래는 그 예이다.
01 void CMainFrame::GetMessageString(UINT nID, CString& rMessage) const
02 {
03     switch ( nID )
04     {
05     case ID_FILE_NEW:
06         theApp.m_Lang.GetMenuTip2( rMessage, _T("ID_FILE_NEW") );
07         return;
08         break;
09     }
10   
11     return CFrameWnd::GetMessageString(nID, rMessage);

반응형

댓글