Adding Most Recently Used(MRU)FilestoanSDI/MDI Application DarkKaiser, 2007년 7월 1일2023년 9월 6일 Adding MRU to MFC SDI or MDI is actually not very difficult. I just add ?AddToRecentFileList(LPCTSTR lpszPathName) to ?CDocument derived class which calls the add the path name to ?CWinApp’s ?CRecentFileList (m_pRecentFileList). I use SDI for this demo. 1. Iinclude afxadv.h to stdafx.h. This contains the class ?CRecentFileList. #include <afxadv.h> 2. Add ?AddToRecentFileList to ?CDocument derived class and use this function during opening and saving the document. void CCMRUTestDoc::AddToRecentFileList(LPCTSTR lpszPathName) { ((CCMRUTestApp*)AfxGetApp())->AddToRecentFileList(lpszPathName); } BOOL CCMRUTestDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; /* Add to MRU file list */ AddToRecentFileList(lpszPathName); return TRUE; } BOOL CCMRUTestDoc::OnSaveDocument(LPCTSTR lpszPathName) { /* Add to MRU file list */ AddToRecentFileList(lpszPathName); return CDocument::OnSaveDocument(lpszPathName); } 3 Add AddToRecentFileList for CWinApp derived class. void CCMRUTestApp::AddToRecentFileList(LPCTSTR lpszPathName) { /* lpszPathName will be added to the top of the MRU list. */ /* If lpszPathName already exists in the MRU list, it will be moved to the top */ if (m_pRecentFileList != NULL) { m_pRecentFileList->Add(lpszPathName); } } C/C++/VC++ MRU