you can override it by hand,but it seems that it was not called.
GetMessageString is a virtual function,but I think its just called
by CFrameWnd::OnSetMessageString(which invoked by WM_SETMESSAGESTRING)
so it called its own implementation,not the derived one.
One method I can think out is to implement your own message handler
afx_msg LRESULT OnSetMessageString(WPARAM wParam,LPARAM lParam);
to your mainfrm.h
ON_MESSAGE(0x0362/*its just the WM_SETMESSAGESTRING*/,OnSetMessageString)
to you mainfrm.cpp
of course you had to give a body to this function,
LRESULT CMainFrame::OnSetMessageString(WPARAM wParam,LPARAM lParam)
I think you should steal some code from MFC(I just tried:)
line 1490-1528(BTW,it VC6.0)
you will get a error saying that two member variable cannot be
accessed when compiling you code,
I commented two line out,and it still works.
If you have more time,you can check if there lies a better answer.
virtual void GetMessageString( UINT nID, CString& rMessage ) const;
void CMainFrame::GetMessageString( UINT nID, CString& rMessage ) const
if (nID==ID_FILE_NEW) rMessage="create new file";
sorry,I forgot the 'const'
thank u very much