EQuestionAnswers.com Computer/Electronics Questions and Answers
C, C++, VC++, COM/DCOM, DLL and more
#Login #Sign up  Facebook Twitter TGoogle+
 

#Previous question #Index of VC++/WIN32/MFC Questions #Next question

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

class CDialog : public CWnd
{
  DECLARE_DYNAMIC(CDialog)
public:
  CDialog();
public:
10    virtual int DoModal();
11    virtual BOOL OnInitDialog();
12 
13  protected:
14    virtual void OnOK();
15    virtual void OnCancel();
16  };

You have viewed 1 page out of 109. Your VC++ learning is 0.00% complete. Login to check your learning progress.

 Vote 0

Similar topics related to this section

#Programming Windows, Fifth Edition (Developer Reference)
#Programming Applications for Microsoft Windows (Microsoft Programming Series)
#Programming Windows with MFC, Second Edition
#Visual C++ Programming
#Programming Microsoft Visual C++, Fifth Edition

* #1 webmaster Sat 26 Apr/2014 17:44:54(GMT)  Like 0 Unlike 0

Dear Users,

We are pleased to inform you that a forum/blog has been incorporated with www.mybestnotes.co.in. You are welcomed to add your comments, requests, codes, solutions and feedback to it. Please login(if already a member) or signup(for free) to avail to this facility.

Regards,
Webmaster

Your message goes here:

Name:Guest
Email:anonymous@unknown.com
My Post:*
Secutiry Code: ******  *
Preview this compose before posting this in discussion forum.
 
Note:
  1. Use [Sxx] code to show smiles. Example [S02]
  2. Use [URL ], example [URL http://www.google.com/]
  3. To display code or un formatted text use [CODE] [/CODE]. Example: [CODE] printf("Hello world"); [/CODE]
 [S01]   [S02]   [S03]   [S04]   [S05]   [S06]   [S07]   [S08] 
 [S09]   [S10]   [S11]   [S12]   [S13]   [S14]   [S15]   [S16] 
 [S17]   [S18]   [S19]   [S20]   [S21]   [S22]   [S23]   [S24] 

Note: Only members are allowed, * fields are mandatory.