これは、自分自身について気分が悪くなります。MRU リストを使用した最後のプロジェクトで行ったのと同じことをすべて行っているにもかかわらず、MFC アプリのメニューに MRU リストが表示されるように説得することはできません。は:
(a) CWinApp::InitInstance で LoadStdProfileSettings() によって MRU をロードします。
BOOL CEditor::InitInstance(){
if (!CWinApp::InitInstance()) return FALSE;
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo)) return FALSE;
LoadStdProfileSettings(); // begging you, do something!
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
}
(b) ロード/保存された各ファイルを CDocument::Serialize の MRU リストに追加する
void CDrive::Serialize(CArchive &ar){
// serialization
// - add to the MRU
CFile *f=ar.GetFile();
CString fileName=f->GetFileName();
extern CEditor editor;
editor.AddToRecentFileList(fileName);
// - i/o
// ...do the main objective...
}
タイトルで指摘されているように、私が見落としていたひどく愚かなものに違いありません。
助けてくれて本当にありがとう。
トーマス