Index: trunk2/sakura_core/window/CEditWnd.cpp
===================================================================
--- trunk2/sakura_core/window/CEditWnd.cpp	(ƒŠƒrƒWƒ‡ƒ“ 30720)
+++ trunk2/sakura_core/window/CEditWnd.cpp	(�ì‹ÆƒRƒs�[)
@@ -81,6 +81,7 @@
 //@@@ 2002.01.14 YAZAKI ˆó�üƒvƒŒƒrƒ…�[‚ðCPrintPreview‚É“Æ—§‚³‚¹‚½‚Ì‚Å
 //	’è‹`‚ð�í�œ
 
+const static int MENUBAR_MESSAGE_MAX_LEN = 30;
 
 
 
@@ -119,11 +120,14 @@
 , m_cStatusBar(this)
 , m_nActivePaneIndex( 0 )
 , m_pcDragSourceView( NULL )
+, m_szMenubarMessage( new TCHAR[MENUBAR_MESSAGE_MAX_LEN + 1] )
 {
 	g_pcEditWnd=this;
 	for(int i=0;i<4;i++)
 		m_pcEditViewArr[i]=new CEditView(this);
 
+	m_szMenubarMessage[0] = _T('\0');
+
 	//	Dec. 4, 2002 genta
 	InitMenubarMessageFont();
 
@@ -138,6 +142,8 @@
 
 CEditWnd::~CEditWnd()
 {
+	delete[] m_szMenubarMessage;
+
 	g_pcEditWnd=NULL;
 
 	delete[] m_pszLastCaption;
@@ -647,6 +653,11 @@
 	if( m_pShareData->m_Common.m_sWindow.m_bDispSTATUSBAR ){	/* ƒXƒe�[ƒ^ƒXƒo�[‚ð•\Ž¦‚·‚é */
 		/* ƒXƒe�[ƒ^ƒXƒo�[�ì�¬ */
 		m_cStatusBar.CreateStatusBar();
+
+		/* ƒXƒe�[ƒ^ƒXƒo�[‚ª”ñ•\Ž¦‚ÌŠÔ�Aƒ�ƒjƒ…�[ƒo�[‰E’[‚É
+		  •\Ž¦‚³‚ê‚Ä‚¢‚½‚©‚à’m‚ê‚È‚¢ƒ�ƒbƒZ�[ƒW‚ð�Á‹Ž�B
+		*/
+		PrintMenubarMessage( _T("") );
 	}
 	else{
 		/* ƒXƒe�[ƒ^ƒXƒo�[”jŠü */
@@ -1526,13 +1537,23 @@
 		}
 		return DefWindowProc( hwnd, uMsg, wParam, lParam );
 
+	case WM_NCPAINT:
+		/*
+			WM_NCACTIVATE‚Å‚à•\Ž¦‚Ì�X�V‚ª•K—v�B
+		*/
+		DefWindowProc( hwnd, uMsg, wParam, lParam );
+		PrintMenubarMessage( NULL );
+		return 0;
+
 	case WM_NCACTIVATE:
 		// •Ò�WƒEƒBƒ“ƒhƒE�Ø‘Ö’†�iƒ^ƒu‚Ü‚Æ‚ßŽž�j‚Íƒ^ƒCƒgƒ‹ƒo�[‚ÌƒAƒNƒeƒBƒu�^”ñƒAƒNƒeƒBƒu�ó‘Ô‚ð‚Å‚«‚é‚¾‚¯•Ï�X‚µ‚È‚¢‚æ‚¤‚É�i‚P�j	// 2007.04.03 ryoji
 		// ‘O–Ê‚É‚¢‚é‚Ì‚ª•Ò�WƒEƒBƒ“ƒhƒE‚È‚çƒAƒNƒeƒBƒu�ó‘Ô‚ð•ÛŽ�‚·‚é
 		if( m_pShareData->m_sFlags.m_bEditWndChanging && IsSakuraMainWindow(::GetForegroundWindow()) ){
 			wParam = TRUE;	// ƒAƒNƒeƒBƒu
 		}
-		return DefWindowProc( hwnd, uMsg, wParam, lParam );
+		DefWindowProc( hwnd, uMsg, wParam, lParam );
+		PrintMenubarMessage( NULL );
+		return TRUE;
 
 	case WM_SETTEXT:
 		// •Ò�WƒEƒBƒ“ƒhƒE�Ø‘Ö’†�iƒ^ƒu‚Ü‚Æ‚ßŽž�j‚Íƒ^ƒCƒgƒ‹ƒo�[‚ÌƒAƒNƒeƒBƒu�^”ñƒAƒNƒeƒBƒu�ó‘Ô‚ð‚Å‚«‚é‚¾‚¯•Ï�X‚µ‚È‚¢‚æ‚¤‚É�i‚Q�j	// 2007.04.03 ryoji
@@ -3663,7 +3684,7 @@
 	@author genta
 	@date 2002.12.04
 */
-void CEditWnd::PrintMenubarMessage( const TCHAR* msg ) const
+void CEditWnd::PrintMenubarMessage( const TCHAR* msg )
 {
 	if( NULL == ::GetMenu( GetHwnd() ) )	// 2007.03.08 ryoji ’Ç‰Á
 		return;
@@ -3672,17 +3693,22 @@
 	RECT	rc,rcFrame;
 	HFONT	hFontOld;
 	int		nStrLen;
-	const int MAX_LEN = 30;
-	TCHAR	szText[MAX_LEN + 1];
-	
-	int len = _tcslen( msg );
-	_tcsncpy( szText, msg, MAX_LEN );
-	
-	if( len < MAX_LEN ){
-		auto_memset( szText + len, _T(' '), MAX_LEN - len );
+
+	if( msg ) {
+		int len = _tcslen( msg );
+		_tcsncpy( this->m_szMenubarMessage, msg, MENUBAR_MESSAGE_MAX_LEN );
+		if( len < MENUBAR_MESSAGE_MAX_LEN ){
+			auto_memset( this->m_szMenubarMessage + len, _T(' '), MENUBAR_MESSAGE_MAX_LEN - len );
+		}
+		this->m_szMenubarMessage[MENUBAR_MESSAGE_MAX_LEN] = _T('\0'); 
 	}
-	szText[MAX_LEN] = _T('\0');
-	
+	if( this->m_szMenubarMessage[0] == _T('\0') ) {
+		if( msg ) {
+			DrawMenuBar( this->GetHwnd() );
+		}
+		return;
+	}
+
 	HDC		hdc;
 	hdc = ::GetWindowDC( GetHwnd() );
 	poFrame.x = 0;
@@ -3692,7 +3718,7 @@
 	po.x = rcFrame.right - rcFrame.left;
 	po.y = poFrame.y - rcFrame.top;
 	hFontOld = (HFONT)::SelectObject( hdc, m_hFontCaretPosInfo );
-	nStrLen = MAX_LEN;
+	nStrLen = MENUBAR_MESSAGE_MAX_LEN;
 	rc.left = po.x - nStrLen * m_nCaretPosInfoCharWidth - ( ::GetSystemMetrics( SM_CXSIZEFRAME ) + 2 );
 	rc.right = rc.left + nStrLen * m_nCaretPosInfoCharWidth + 2;
 	rc.top = po.y - m_nCaretPosInfoCharHeight - 2;
@@ -3708,7 +3734,7 @@
 		m_pnCaretPosInfoDx[i] = ( m_nCaretPosInfoCharWidth );
 	}
 	*/
-	::ExtTextOut( hdc,rc.left,rc.top,ETO_CLIPPED | ETO_OPAQUE,&rc,szText,nStrLen,NULL/*m_pnCaretPosInfoDx*/); //2007.10.17 kobake ‚ß‚ñ‚Ç‚¢‚Ì‚Å�¡‚Ì‚Æ‚±‚ë‚Í•¶ŽšŠÔŠu”z—ñ‚ðŽg‚í‚È‚¢�B
+	::ExtTextOut( hdc,rc.left,rc.top,ETO_CLIPPED | ETO_OPAQUE,&rc,m_szMenubarMessage,nStrLen,NULL/*m_pnCaretPosInfoDx*/); //2007.10.17 kobake ‚ß‚ñ‚Ç‚¢‚Ì‚Å�¡‚Ì‚Æ‚±‚ë‚Í•¶ŽšŠÔŠu”z—ñ‚ðŽg‚í‚È‚¢�B
 	::SelectObject( hdc, hFontOld );
 	::ReleaseDC( GetHwnd(), hdc );
 }
Index: trunk2/sakura_core/window/CEditWnd.h
===================================================================
--- trunk2/sakura_core/window/CEditWnd.h	(ƒŠƒrƒWƒ‡ƒ“ 30720)
+++ trunk2/sakura_core/window/CEditWnd.h	(�ì‹ÆƒRƒs�[)
@@ -206,7 +206,7 @@
 	// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
 	//                           •\Ž¦                              //
 	// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
-	void PrintMenubarMessage( const TCHAR* msg ) const;
+	void PrintMenubarMessage( const TCHAR* msg );
 	void SendStatusMessage( const TCHAR* msg );		//	Dec. 4, 2002 genta ŽÀ‘Ì‚ðCEditView‚©‚çˆÚ“®
 
 
@@ -348,6 +348,7 @@
 	int				m_nWinSizeType;		//!< ƒTƒCƒY•Ï�X‚Ìƒ^ƒCƒv�BSIZE_MAXIMIZED, SIZE_MINIMIZED “™�B
 	BOOL			m_bPageScrollByWheel;		//!< ƒzƒC�[ƒ‹‘€�ì‚É‚æ‚éƒy�[ƒWƒXƒNƒ��[ƒ‹‚ ‚è	// 2009.01.17 nasukoji
 	BOOL			m_bHorizontalScrollByWheel;	//!< ƒzƒC�[ƒ‹‘€�ì‚É‚æ‚é‰¡ƒXƒNƒ��[ƒ‹‚ ‚è		// 2009.01.17 nasukoji
+	TCHAR*			m_szMenubarMessage; //!< ƒ�ƒjƒ…�[ƒo�[‰E’[‚É•\Ž¦‚·‚éƒ�ƒbƒZ�[ƒW
 
 	//ƒtƒHƒ“ƒg�EƒCƒ��[ƒW
 	HFONT			m_hFontCaretPosInfo;		//!< ƒLƒƒƒŒƒbƒg‚Ì�sŒ…ˆÊ’u•\Ž¦—pƒtƒHƒ“ƒg
