Скачать исходник - 18 Kb
Описание
Я частенько пишу простые утилиты для упрощения
программирования. Здесь представлен пример,
показывающий, как прикрепить к Вашему приложению
список открытых последний раз документов, как
это сделано, например, в 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 для списка
последних открытых файлов.