dissecting MFC 2e part1

Page 240

第3章

MFC 六大關鍵技術之模擬

CWnd::messageMap

CView::_messageEntries[] WM_COMMAND, 0, 122, 122, 1,

(AFX_PMSG)0

0, 0, 0, 0, 0, (AFX_PMSG)0

pBaseMessageMap lpEntries

CView::messageMap

我們還可以定義各種類似 ON_COMMAND 這樣的巨集,把各式各樣的訊息與特定的處 理常式關聯起來。MFC 裡頭就有名為 ON_WM_PAINT、ON_WM_CREATE、ON_WM_SIZE... 等等的巨集。 我在 Frame7 範例程式㆗為 CCmdTarget 的每㆒衍生類別都產生類似㆖圖的訊息映射表: // in header files class CObject { ... // 注意:CObject 並不屬於訊息流動網的㆒份子。 }; class CCmdTarget : public CObject { ... DECLARE_MESSAGE_MAP() }; class CWinThread : public CCmdTarget { ... // 注意:CWinThread 並不屬於訊息流動網的㆒份子。 }; class CWinApp : public CWinThread { ... DECLARE_MESSAGE_MAP() }; class CDocument : public CCmdTarget { ... DECLARE_MESSAGE_MAP() }; class CWnd : public CCmdTarget { ... DECLARE_MESSAGE_MAP()

175


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.