Windows Programming/Classes Hierarchy

MFC Classes Hierarchy edit

CObject edit

The root/base class for most of the MFC library. Some of the features it makes available to the programmer are serialization support, run-time class information, and object diagnostic output. Any derived class from CObject, can exploit these features.

Class CObject in AFX.H

Field Summary

static const AFX_CORE_DATA CRuntimeClass classCObject 
          

Constructor Summary

protected  CObject() 
          
private  CObject( const CObject& objectSrc ) 
          
 virtual ~CObject() 


Method Summary

void PASCAL operator delete( void* p ) 
          
virtual CRuntimeClass* GetRuntimeClass() const 
          
BOOL IsKindOf( const CRuntimeClass* pClass ) const 
          
BOOL IsSerializable() const 
          
void* PASCAL operator new( size_t, void* p ) 
          
void* PASCAL operator new( size_t nSize ) 
          
virtual void Serialize( CArchive& ar )

CCmdTarget edit

CWinThread edit

CWinApp edit

CWnd edit

CListCtrl edit

This class encapsulates the functionality of a list view control, which is a control that displays a collection of items, each consisting of an icon and a label.

Class CListCtrl in AFXCMN.H


CObject

  |
  +--CCmdTarget
        |
        +--CWnd
              |
              +--CListCtrl

class CListCtrl extends CWnd

Fields inherited from class CWnd

m_hWnd, wndTop, wndBottom, wndTopMost, wndNoTopMost, m_hWndOwner, m_nFlags, m_pfnSuper, m_nMsgDragList, m_nModalResult, m_pDropTarget, m_pCtrlCont, m_pCtrlSite, messageMap 

Fields inherited from class CCmdTarget

messageMap, commandMap, dispatchMap, connectionMap, interfaceMap, eventsinkMap, m_dwRef, m_pOuterUnknown, m_xInnerUnknown, m_xDispatch, m_bResultExpected, m_xConnPtContainer 

Fields inherited from class CObject

classCObject

CToolBar edit

This class encapsulates the functionality of a control bars that have a row of bitmapped buttons and/or separators. CToolBar objects are usually embedded members of frame-window objects derived from the class CFrameWnd or MDIFrameWnd.

CTreeCtrl edit

CException edit

CArray edit

CFile edit

CDC edit

CGdiObject edit

CFont edit

CHttpArgList edit

Subclassing edit

standard technique for customizing the behavior of a class

Window Subclassing edit

Window message route edit

The mechanism by which MFC routes messages is also called the Message Map system that was created to wrap the old C API and reduce the level of complexity for programmers.

// a Message Map example

BEGIN_MESSAGE_MAP( ClNOMainFrameWnd, CFrameWnd )
  ON_WM_SYSCOMMAND()
  ON_WM_CREATE()
  ON_WM_SIZE()
  ON_WM_CLOSE()
  ON_WM_MEASUREITEM()
  ON_WM_INITMENUPOPUP()
  ON_WM_MENUCHAR()
  ON_WM_DESTROY()

  ON_REGISTERED_MESSAGE( D_WM_REQUEST, OnMsgReqToShowWnd )

  ON_COMMAND( ID_APP_TRAYCLICK, OnTrayClick )
  ON_MESSAGE( C_WM_TIPACTION, OnTipOfTheDayAction )

END_MESSAGE_MAP()

Message map edit

The message map macros:

ON_COMMAND and ON_BN_CLICKED
the ON_COMMAND and ON_BN_CLICKED are the same, MFC command and control macro is preset to handle the Windows message WM_COMMAND and the notification routing mechanism uses the command ID to decide where to route to. Notifications with control notification code of zero (BN_CLICKED) are interpreted as commands.
ON_UPDATE_COMMAND_UI
the ON_UPDATE_COMMAND_UI macro.

Component Object Model (COM) edit