The CWinApp class is the base class from which every programmer derives a Windows application object. An application object provides member functions for initializing and running an application.
Each application that uses the Microsoft Foundation classes can only contain one object derived from CWinApp. CWinApp works on global instance and only one instance is allowed. This object should be declared in global scope. This is constructed when other C++ global objects are constructed and is already available when Windows calls the WinMain function, which is supplied by the Microsoft Foundation Class Library.
Programmer derives an application class from CWinApp must override the InitInstance member function and must create application's main window object. InitInstance is a pure virtual function and it should be implemented and MFC framework calls this function from WinMain().
In addition to the CWinApp member functions, the Microsoft Foundation Class Library provides the following global functions to access your CWinApp object and other global information:
- AfxGetApp - Obtains a pointer to the CWinApp object.
- AfxGetInstanceHandle - Obtains a handle to the current application instance.
- AfxGetResourceHandle - Obtains a handle to the application's resources.
- AfxGetAppName - Obtains a pointer to a string containing the application's name.
This is a small MFC application, contains few lines of code. It derives CWinApp class and implements InitInstance. It displays a message box and exits when message user clicks on OK. This can be compiled with an Win32 application workspace and adding MyApp.cpp into it and then selecting Project>>Settings>>Using MFC as static/shared library.
About our authors: Team EQA
MFC hides WinMain in its framework and includes source file on WinMain(). This explains how framework calls global CWinApp::Initinstance() from entry WinMain.
This is constructed during global C++ objects are constructed and is already available when Windows calls the WinMain function, which is supplied by the ...
Define a custom Window class structure, Register the class name, CreateWindow, Show windows and write message get and dispatch loop statements. Define the Window CallBack procedure and write the handlers.
DispatchMessage() is a API which indirectly triggers the Window CallBack procedure. Message structure members from this function are passed to the CallBack procedure. CallBack procedure should implement event handlers depending on the need of the application.
LPARAM and WPARAM are the two parameters in Window CallBack procedure. They signifies parameters of various events. They are used in handing individual events.
We need to write WinMain and need to follow all these in a Win32 application. However we need not to write much if we are writing an application with MFC ...
Learn on Youtube