跳轉到內容

Windows 程式設計/類層次結構

來自華夏公益教科書,開放的書籍,開放的世界

MFC 類層次結構

[編輯 | 編輯原始碼]

大多數 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 )

CCmdTarget

[編輯 | 編輯原始碼]

CWinThread

[編輯 | 編輯原始碼]

CListCtrl

[編輯 | 編輯原始碼]

此類封裝了列表檢視控制元件的功能,列表檢視控制元件是一種顯示專案集合的控制元件,每個專案都包含一個圖示和一個標籤。

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 類的框架視窗物件的嵌入成員。

CTreeCtrl

[編輯 | 編輯原始碼]

CException

[編輯 | 編輯原始碼]

CGdiObject

[編輯 | 編輯原始碼]

CHttpArgList

[編輯 | 編輯原始碼]

子類化

[編輯 | 編輯原始碼]

自定義類行為的標準技術

視窗子類化

[編輯 | 編輯原始碼]

視窗訊息路由

[編輯 | 編輯原始碼]

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 宏。

元件物件模型 (COM)

[編輯 | 編輯原始碼]
華夏公益教科書