2009/02/02

[MFC] 실행시 CStatusBar 의 Prompt 문자열 제어하기

다국어 지원 프로그램을 테스트 하다 필요해 찾아본 정보인다. 메뉴나 툴바의 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 을 실생 시간에 제어할 수 있다.
아래는 그 예이다.

void CMainFrame::GetMessageString(UINT nID, CString& rMessage) const
{
switch ( nID )
{
case ID_FILE_NEW:
theApp.m_Lang.GetMenuTip2( rMessage, _T("ID_FILE_NEW") );
return;
break;
}

return CFrameWnd::GetMessageString(nID, rMessage);
}




Original Post : http://neodreamer-dev.tistory.com/243

No comments :

Post a Comment