Windows 程式設計/類層次結構
外觀
大多數 MFC 庫的根/基類。它為程式設計師提供的一些功能包括序列化支援、執行時類資訊和物件診斷輸出。從 CObject 派生的任何類都可以利用這些功能。
CObject 類 在 AFX.H 中
欄位摘要
static const AFX_CORE_DATA CRuntimeClass classCObject
建構函式摘要
protected CObject()
private CObject( const CObject& objectSrc )
virtual ~CObject()
方法摘要
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 類 在 AFXCMN.H 中
CObject
|
+--CCmdTarget
|
+--CWnd
|
+--CListCtrl
class CListCtrl 擴充套件 CWnd
從 CWnd 類繼承的欄位
m_hWnd, wndTop, wndBottom, wndTopMost, wndNoTopMost, m_hWndOwner, m_nFlags, m_pfnSuper, m_nMsgDragList, m_nModalResult, m_pDropTarget, m_pCtrlCont, m_pCtrlSite, messageMap
從 CCmdTarget 類繼承的欄位
messageMap, commandMap, dispatchMap, connectionMap, interfaceMap, eventsinkMap, m_dwRef, m_pOuterUnknown, m_xInnerUnknown, m_xDispatch, m_bResultExpected, m_xConnPtContainer
從 CObject 類繼承的欄位
classCObject
此類封裝了工具欄的功能,工具欄是一排點陣圖按鈕和/或分隔符。CToolBar 物件通常是繼承自 CFrameWnd 或 MDIFrameWnd 類的框架視窗物件的嵌入成員。
自定義類行為的標準技術
MFC 路由訊息的機制也被稱為訊息對映系統,該系統是為了封裝舊的 C API 並降低程式設計師的複雜程度而建立的。
// 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()
訊息對映宏
- ON_COMMAND 和 ON_BN_CLICKED
- ON_COMMAND 和 ON_BN_CLICKED 是相同的,MFC 命令和控制元件宏預設為處理 Windows 訊息 WM_COMMAND,而通知路由機制使用命令 ID 來決定路由到哪裡。具有為零(BN_CLICKED)的控制元件通知程式碼的通知被解釋為命令。
- ON_UPDATE_COMMAND_UI
- ON_UPDATE_COMMAND_UI 宏。