CWinApp: класс приложений
Основной класс приложения в MFC инкапсулирует инициализацию, выполнение и завершение приложения для операционной системы Windows. Приложение, созданное на платформе, должно иметь один и только один объект класса, производный от CWinApp. Этот объект создается перед созданием окон.
CWinApp
является производным от CWinThread
, который представляет основной поток выполнения для приложения, который может иметь один или несколько потоков. В последних версиях MFC, InitInstance
функции запуска ExitInstance
и OnIdle
члена фактически находятся в классеCWinThread
. Эти функции рассматриваются здесь, как будто они были CWinApp
членами, так как обсуждение касается роли объекта в качестве объекта приложения, а не как основного потока.
Примечание.
Класс приложения представляет собой основной поток выполнения приложения. С помощью функций API Win32 можно также создавать вторичные потоки выполнения. Эти потоки могут использовать библиотеку MFC. Дополнительные сведения см. в разделе "Многопоточность".
Как и любая программа для операционной системы Windows, приложение платформы имеет WinMain
функцию. Однако в приложении платформы вы не пишете WinMain
. Он предоставляется библиотекой классов и вызывается при запуске приложения. WinMain
выполняет стандартные службы, такие как регистрация классов окон. Затем он вызывает функции-члены объекта приложения для инициализации и запуска приложения. (Вы можете настроить WinMain
, переопределив CWinApp
функции-члены, вызывающие WinMain
.)
Чтобы инициализировать приложение, WinMain
вызывает функции и члены объекта InitApplication
InitInstance
приложения. Чтобы запустить цикл сообщений приложения, WinMain
вызывает функцию запуска члена. При завершении вызывает функцию-член WinMain
объекта ExitInstance
приложения.
Примечание.
Имена, отображаемые полужирным шрифтом в этой документации, указывают элементы, предоставляемые библиотекой классов Microsoft Foundation и Visual C++. Имена, отображаемые в monospaced
типе, указывают на элементы, которые создаются или переопределяются.
См. также
Общие разделы по MFC
CWinApp и мастер приложений MFC
Переопределяемые функции-члены CWinApp
Специальные службы CWinApp