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.