Events and virtual functions
Virtual functions are the key for handling events in any application framework. Framework uses base pointer to access objects. Base class implements default event handling. User can derive base class and implement their own event functions. MFC however use very limited numbers of virtual functions for the events. These are the events mandatory for most of the objects. Rest of the events can be implemented by users with MESSAGE_MAP.
Events and vtable size
We all know that virtual function introduces a virtual table pointer/vptr and a virtual function table. This table grows when we introduce more virtual functions. MFC has wide range of events and if we declare all as virtual then this virtual function table would grow beyond imagination. That is why MFC uses a very limited events as virtual functions and rest of the large numbers are open to the users to be declared as per user's need. User can start defining this static array with BEGIN_MESSAGE_MAP and END_MESSAGE_MAP
Events with Virtual Function
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 ...
Questions index C Questions C++ Questions Win32 MFC COM/DCOM DLL Questions
Compilers & Editors
Download Visual Studio Download XCode Download Visual Studio Code Android studio install sdk Eclipse installer Best C compilers IDEs
Development system setup
Windows media creation tool MSDN subscription Ubuntu virtualbox
New updated posts
Why learn C? Draw on printer Memory leaks