C & C++/MFC 컨트롤
[상태바] 실행시 CStatues Bar 의 Prompt 문자열 제어하기
izen8
2011. 4. 7. 09:13
다국어 지원 프로그램을 테스트 하다 필요해 찾아본 정보인다. 메뉴나 툴바의 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 을 실생 시간에 제어할 수 있다.
아래는 그 예이다.
실행시에 이 메세지를 변경을 해야할 필요가 있어 그 방법을 찾아 보았다.
실생시에 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); |