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


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.

Source code

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.


Minimal MFC Windows Application


#include "afxwin.h"
class CMyApp : public  CWinApp
    virtual int InitInstance()
10      {
11        MessageBox(NULL,
12                   "Demo How MFC WinMain calls CWinApp::InitInstance.",
13                   "MFC WinMain CWinApp",
14                   MB_OK);
15        return 0;
16      }
17  };
18  CMyApp app;

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 13:10:30(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.


Your message goes here:

My Post:*
Secutiry Code: ******  *
Preview this compose before posting this in discussion forum.
  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.