Windows Programming/Classes Hierarchy

CObject
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 )

CListCtrl
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
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.

Subclassing
standard technique for customizing the behavior of a class

Window message route
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.

Message map
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.