Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT


Метод InitInstance


Метод InitInstance является виртуальным методом класса CWinApp. Когда вы наследуете главный класс приложения от базового класса CWinApp, этот метод необходимо переопределить.

MFC AppWizard переопределяет метод InitInstance автоматически для приложений с любым пользовательским интерфейсом. Однако реализация этого метода может различаться. Сравните переопределенный метод InitInstance для приложений с главной диалоговой панелью (приложение Dialog) и оконным интерфейсом (приложение Single).

//////////////////////////////////////////////////////////////

// Метод CSingleApp

BOOL CSingleApp::InitInstance()

{

#ifdef _AFXDLL

      Enable3dControls();

#else

      Enable3dControlsStatic();

#endif

      // Загружаем файл конфигурации

      LoadStdProfileSettings();

 

      // Создаем шаблон документа

      CSingleDocTemplate* pDocTemplate;

      pDocTemplate = new CSingleDocTemplate(

             IDR_MAINFRAME,

             RUNTIME_CLASS(CSingleDoc),

             RUNTIME_CLASS(CMainFrame),

             RUNTIME_CLASS(CSingleView));

 

      // Регистрируем шаблон документа

      AddDocTemplate(pDocTemplate);

 

      // Выполняем стандартную обработку командной строки

      // приложения

      CCommandLineInfo cmdInfo;

      ParseCommandLine(cmdInfo);

 

      // Обрабатываем командную строку приложения

      if (!ProcessShellCommand(cmdInfo))

             return FALSE;

 

      return TRUE;

}

После вызова метода Enable3dControls, описанного ранее, вызывается метод LoadStdProfileSettings. Этот метод загружает файл конфигурации приложения, имеющий расширение INI. В INI-файле записаны имена нескольких файлов, с которыми работало приложение. Эти имена файлов будут добавлены как отдельные строки в меню File приложения. Кроме того, в INI-файле может храниться и другая информация.

Метод LoadStdProfileSettings определен в классе CWinApp следующим образом:

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Необязательный параметр nMaxMRU определяет, сколько имен файлов документов будет запоминаться. Если указать в качестве параметра nMaxMRU нулевое значение, список файлов запоминаться не будет. По умолчанию параметру nMaxMRU присваивается значение _AFX_MRU_COUNT. Константа _AFX_MRU_COUNT определена в файле afxwin.h.




Начало  Назад  Вперед



Книжный магазин