Добавление списка последних открытых документов в диалоговое приложение MFC
|
Я частенько пишу простые утилиты для упрощения программирования. Здесь представлен пример, показывающий, как прикрепить к Вашему приложению список открытых последний раз документов, как это сделано, например, в MS Word, а так же во многих приложениях Windows. Вопервых Вам необходимо добавить своё меню в диалог. Задайте ему идентификатор IDR_MAINFRAME. После этого добавьте в это меню пункт с идентификатором ID_FILE_MRU_FILE1. Далее Вам необходимо будет изменить функцию CWinApp::InitInstance, добавив туда два вызова: SetRegistryKey(_T("CodeProject Recent File List Dialog Demo")); LoadStdProfileSettings(); SetRegistryKey будет устанавливать в Windows местонахождение базы, в которой будет храниться список последних открытых документов. LoadStdProfileSettings будет загружать стандартный INI файл. Вам так же необходимо будет использовать функцию CWinApp::OpenDocumentFile. Эта функция вызывается, когда Вы выбираете файл из списка последних открытых файлов. И последнее, что необходимо сделать, это отображение списка последних открытых файлов в меню. Делается это через сообщение WM_INITMENUPOPUP в Вашем диалоговом классе. Внутри функции OnInitMenuPopup Вам необходимо вызывать обработчик OnUpdate для меню. В часности нам необходимо вызвать обработчик OnUpdate в CWinApp::OnUpdateRecentFileMenu для списка последних открытых файлов. |