Визуальное программирование и MFC



Главный класс приложения - часть 2


Созданный шаблон документов заносится в список шаблонов, с которыми работает приложение. Для этого указатель на созданный шаблон документа передается методу AddDocTemplate из класса CWinApp.

Если разрабатывается приложение, основанное на однооконном или многооконном интерфейсе, то объект главного класса приложения управляет одним или несколькими объектами класса шаблона документа. Они, в свою очередь, управляют созданием документов. Один шаблон используется для всех документов данного типа.

После создания шаблона документа создается главное окно MDI (главное окно приложения). Для создания главного окна приложения формируется объект класса CMainFrame и записывается указатель на него в pMainFrame. Класс CMainFrame определен в приложении и будет рассматриваться ниже.

Затем для только что созданного объекта вызывается метод LoadFrame класса CFrameWnd. Он создает окно, загружает ресурсы, указанные параметром, и связывает их с объектом класса CMainFrame. Параметр метода LoadFrame определяет меню, пиктограмму, таблицу акселераторов и таблицу строк главного окна приложения.

Указатель на главное окно приложения, которым является главное окно MDI, записывается в элемент данных m_pMainWnd главного окна приложения. Этот элемент данных определен в классе CWinThread. Когда окно, представленное указателем m_pMainWnd, закрывается , приложение будет автоматически завершено.

Метод LoadFrame не отображает главного окна приложения на экране. Для этого нужно вызвать методы ShowWindow и UpdateWindow.

И, наконец, можно проверить и получить информацию из командной строки приложения. Для этого создается объект cmdInfo класса CCommandLineInfo. Этот объект передается методу ParseCommandLine класса CWinApp. Он заполняет объект cmdInfo данными, взятыми из командной строки приложения.

Подготовленный объект передается методу ProccessShellCommand класса CWinApp для обработки. После успешной обработки командной строки этот метод возвращает ненулевое значение.

После успешной инициализации приложения и обработки командной строки метод InitInstance возвращает TRUE.Начинается обработка цикла сообщений.

Таблица сообщений. Класс CMultiApp может получать сообщения и имеет таблицу сообщений. Таблица сообщений класса CMultiApp расположена в файле multi.cpp. Она содержит четыре макрокоманды для обработки командных сообщений от меню приложения.




Содержание  Назад  Вперед