Sunteți pe pagina 1din 3

Study of various classes in VC++ and their relation with each other

VC++ Graphical User Interface (GUI) programming using Microsoft Foundation Class
(MFC) Library is covered. Sample applications such as Hello World, Simple Interest
and Matrix Grid will help you to familiarize with common frequently used MFC classes.
Various main MFC Classes such as CWinApp, CDialog, CEdit, CDC, CView,
CString, CFrameWnd, CDocument, CBrush, CPen, CRect, CPoint, CMenu,
COleDataSource, CArray etc are illustrated in these tutorials. Windows event handlers
and implementing messages maps are also illustrated in these tutorials. Please go through
MSDN for a detailed explanation about all these MFC classes and their member
functions. Here is a brief explanation about all these classes.

CWinApp: The CWinApp class is the base class from which you derive a Windows
application object. An application object provides member functions for initializing your
application (and each instance of it) and for running the application.

Each application that uses the Microsoft Foundation classes can only contain one object
derived from CWinApp. This object 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. Declare your derived CWinApp
object at the global level.

When you derive an application class from CWinApp, override the InitInstance member
function to create your application's main window object ie InitInstance is the main
entry point (visible) of the VC++ MFC application similar to main() function entry
point of C++.

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.
Alternately, if you have a pointer to the CWinApp object, use m_pszExeName to get the
application's name.

CDialog: The CDialog class is the base class used for displaying dialog boxes on the
screen. Dialog boxes are of two types: modal and modeless. A modal dialog box must be
closed by the user for the application to continue. A modeless dialog box allows the user
to display the dialog box and return to another task without canceling or removing the
dialog box.
A CDialog object is a combination of a dialog template and a CDialog-derived class. Use
the dialog editor to create the dialog template and store it in a resource, then use the Add
Class wizard to create a class derived from CDialog.

A dialog box, like any other window, receives messages from Windows. In a dialog box,
you are particularly interested in handling notification messages from the dialog box's
controls since that is how the user interacts with your dialog box. Use the Properties
window to select which messages you wish to handle and it will add the appropriate
message-map entries and message-handler member functions to the class for you. You
only need to write application-specific code in the handler member functions.

CEdit: The CEdit class provides the functionality of a Windows edit control. An edit
control is a rectangular child window in which the user can enter text.

CDC: The CDC class defines a class of device-context objects. The CDC object
provides member functions for working with a device context, such as a display or
printer, as well as members for working with a display context associated with the client
area of a window.

Do all drawing through the member functions of a CDC object. The class provides
member functions for device-context operations, working with drawing tools, type-safe
graphics device interface (GDI) object selection, and working with colors and palettes. It
also provides member functions for getting and setting drawing attributes, mapping,
working with the view port, working with the window extent, converting coordinates,
working with regions, clipping, drawing lines, and drawing simple shapes, ellipses, and
polygons. Member functions are also provided for drawing text, working with fonts,
using printer escapes, scrolling, and playing metafiles.

CFrameWnd: The CFrameWnd class provides the functionality of a Windows Single


Document Interface (SDI) overlapped or pop-up frame window, along with members for
managing the window.

To create a useful frame window for your application, derive a class from CFrameWnd.
Add member variables to the derived class to store data specific to your application.
Implement message-handler member functions and a message map in the derived class to
specify what happens when messages are directed to the window.

CDocument: The CDocument class provides the basic functionality for user-defined
document classes. A document represents the unit of data that the user typically opens
with the File->Open command and saves with the File->Save command. CDocument
supports standard operations such as creating, loading, and saving a document. The
framework manipulates documents using the interface defined by CDocument.
CView: The CView class provides the basic functionality for user-defined view classes.
A view is attached to a document and acts as an intermediary between the document and
the user. The view renders an image of the document on the screen or printer and
interprets user input as operations upon the document.

CBrush: Windows provides a variety of drawing tools to use in device contexts. It


provides pens to draw lines, brushes to fill interiors, and fonts to draw text. The CBrush
class encapsulates a Windows graphics device interface (GDI) brush. To use a CBrush
object, construct a CBrush object and pass it to any CDC member function that requires
a brush.

Brushes can be solid, hatched, or patterned.

CPen: The CPen class encapsulates a Windows graphics device interface (GDI) pen.

CRect: A CRect contains member variables that define the top-left and bottom-right
points of a rectangle.

CPoint: The CPoint class is similar to the Windows POINT structure. It also includes
member functions to manipulate CPoint and POINT structures.

CMenu: The CMenu class is an encapsulation of the Windows HMENU. It provides


member functions for creating, tracking, updating, and destroying a menu.

COleDataSource: The COleDataSource class acts as a cache into which an application


places the data that it will offer during data transfer operations, such as Clipboard or
drag-and-drop operations.

S-ar putea să vă placă și