嗔秤戻幣�哉膵�云利匈嬉蝕湊蛸賜�塋床四衲���萩晦編報炎嘔囚^泡仟 ̄云利匈��
源平慎弌傍利 卦指云慕朕村 紗秘慕禰 厘議慕尺 厘議慕禰 TXT畠云和墮 〆辺茄欺厘議箝誓匂〇

侮秘燃竃MFC及2井(PDF鯉塀)-及33何蛍

酔楯荷恬: 梓囚徒貧圭�鮗� ○ 賜 ★ 辛酔堀貧和鍬匈 梓囚徒貧議 Enter 囚辛指欺云慕朕村匈 梓囚徒貧圭�鮗� ● 辛指欺云匈競何! 泌惚云慕短嗤堋響頼���誅卒亮茂�俊彭堋響��辛聞喘貧圭 "辺茄欺厘議箝誓匂" 孔嬬 才 "紗秘慕禰" 孔嬬��





                              CDocument                                    CDocument 

                              CDocument                                     CDocument 



                                 CMyDoc                                        CMyDoc 

                                  CMyDoc                                        CMyDoc                  



                      CObject                                       CObject 

                       CObject                                       CObject 



                          CCmdTarget                                    CCmdTarget 

                           CCmdTarget                                   CCmdTarget 



                              CWinThread                                   CWinThread 

                              CWinThread                                    CWinThread 



                                 CWinApp                                       CWinApp 

                                  CWinApp                                       CWinApp 



                                     CMyWinApp                                    CMyWinApp 

                                     CMyWinApp                                     CMyWinApp              



                              CWnd                                         CWnd 

                              CWnd                                          CWnd 



                                 CView                                         CView 

                                  CView                                         CView 



                                     CMyView                                      CMyView 

                                     CMyView                                       CMyView 



                                 CFrameWnd                                     CFrameWnd 

                                  CFrameWnd                                     CFrameWnd 



                                     CMyFrameWnd                                  CMyFrameWnd 

                                     CMyFrameWnd                                  CMyFrameWnd 



                              CDocument                                    CDocument 

                              CDocument                                     CDocument 



                                 CMyDoc                                        CMyDoc 

                                  CMyDoc                                        CMyDoc 



                              夕3´8 輝CMyFrameWnd 斤�鷸餤智燦�WM_MAND��侭哈軟議��連送強揃�漾� 



200 


´´´´´´´´´´´´´´´´´´´´´´Page 263´´´´´´´´´´´´´´´´´´´´´´´

                                                 及3嫗    MFC 鎗寄�P�I室�g岻庁�M 



Frame8 霞編膨嶽秤趨�嵯岷雋�frame 斤�鷓�view 斤�黏侏洞���連����連蛍匯違 



Windows ��連才WM_MAND 曾嶽�此�



// test Message Routing 

AfxWndProc��0�察�WM_CREATE�察�0�察�0�察�pMyFrame���察�

AfxWndProc��0�察�WM_PAINT�察�0�察�0�察�pMyView���察�

AfxWndProc��0�察�WM_MAND�察�0�察�0�察�pMyView���察�

AfxWndProc��0�察�WM_MAND�察�0�察�0�察�pMyFrame���察�



 Frame8  議凋綜双園咎選潤強恬頁�┿珪咳篩娠慚誅班莇┷達�萩歌深及4嫗議仝芦廾嚥譜 



 協々匯准���此�



    cl my。cpp mfc。cpp   



 參和頁Frame8  議峇佩潤惚�此�



     CWinApp�今�InitApplication 

     CMyWinApp�今�InitInstance 

     CFrameWnd�今�Create 

     CWnd�今�CreateEx 

     CFrameWnd�今�PreCreateWindow 

     CWinApp�今�Run 

     CWinThread�今�Run 



     pMyFrame received a WM_CREATE�察�routing path and call stack�此�

     AfxWndProc�┌� 

     AfxCallWndProc�┌� 

     CWnd�今�WindowProc�┌� 

     1211    CMyFrameWnd 

     121    CFrameWnd 

     12    CWnd 

     1    CCmdTarget 



     pMyView received a WM_PAINT�察�routing path and call stack�此�

     AfxWndProc�┌� 

     AfxCallWndProc�┌� 

     CWnd�今�WindowProc�┌� 

     1221    CMyView 

     122    CView 

     12    CWnd 

     1    CCmdTarget 



     pMyView received a WM_MAND�察�routing path and call stack�此�

     AfxWndProc�┌� 



                                                                                   201 


´´´´´´´´´´´´´´´´´´´´´´Page 264´´´´´´´´´´´´´´´´´´´´´´´

                   及鐙  齢壓検桧�B互岬 



                        AfxCallWndProc�┌� 

                        CWnd�今�WindowProc�┌� 

                        CWnd�今�Onmand�┌� 

                        CView�今�OnCmdMsg�┌� 

                        CCmdTarget�今�OnCmdMsg�┌� 

                        1221    CMyView 

                        122    CView 

                        12    CWnd 

                        1    CCmdTarget 

                        CDocument�今�OnCmdMsg�┌� 

                        CCmdTarget�今�OnCmdMsg�┌� 

                        131    CMyDoc 

                        13    CDocument 

                        1    CCmdTarget 

                        CWnd�今�DefWindowProc�┌� 



                        pMyFrame received a WM_MAND�察�routing path and call stack�此�

                        AfxWndProc�┌� 

                        AfxCallWndProc�┌� 

                        CWnd�今�WindowProc�┌� 

                        CFrameWnd�今�Onmand�┌� 

                        CWnd�今�Onmand�┌� 

                        CFrameWnd�今�OnCmdMsg�┌� 

                        CFrameWnd�今�GetActiveView�┌� 

                        CView�今�OnCmdMsg�┌� 

                        CCmdTarget�今�OnCmdMsg�┌� 

                        1221    CMyView 

                        122    CView 

                        12    CWnd 

                        1    CCmdTarget 

                        CDocument�今�OnCmdMsg�┌� 

                        CCmdTarget�今�OnCmdMsg�┌� 

                        131    CMyDoc 

                        13    CDocument 

                        1    CCmdTarget 

                        CCmdTarget�今�OnCmdMsg�┌� 

                        1211    CMyFrameWnd 

                        121    CFrameWnd 

                        12    CWnd 

                        1    CCmdTarget 

                        CCmdTarget�今�OnCmdMsg�┌� 

                        1111    CMyWinApp 

                        111    CWinApp 

                        1    CCmdTarget 

                        CWnd�今�DefWindowProc�┌� 



202 


´´´´´´´´´´´´´´´´´´´´´´Page 265´´´´´´´´´´´´´´´´´´´´´´´

                                                          及3嫗    MFC 鎗寄�P�I室�g岻庁�M 



Frame8 袈箭殻會 



        MFC。H 



        #0001  #define TRUE 1 

        #0002  #define FALSE 0 

        #0003 

        #0004  typedef char* LPSTR�察�

        #0005  typedef const char* LPCSTR�察�

        #0006 

        #0007  typedef unsigned long  DWORD�察�

        #0008  typedef int              BOOL�察�

        #0009  typedef unsigned char  BYTE�察�

        #0010  typedef unsigned short WORD�察�

        #0011  typedef int              INT�察�

        #0012  typedef unsigned int   UINT�察�

        #0013  typedef long             LONG�察�

        #0014 

        #0015  typedef UINT           WPARAM�察�

        #0016  typedef LONG           LPARAM�察�

        #0017  typedef LONG           LRESULT�察�

        #0018  typedef int            HWND�察�

        #0019 

        #0020  #define WM_MAND             0x0111 

        #0021  #define WM_CREATE              0x0001 

        #0022  #define WM_PAINT               0x000F 

        #0023  #define WM_NOTIFY              0x004E 

        #0024 

        #0025  #define CObjectid              0xffff 

        #0026  #define   CCmdTargetid         1 

        #0027  #define     CWinThreadid       11 

        #0028  #define       CWinAppid        111 

        #0029  #define         CMyWinAppid    1111 

        #0030  #define     CWndid             12 

        #0031  #define       CFrameWndid      121 

        #0032  #define         CMyFrameWndid  1211 

        #0033  #define       CViewid          122 

        #0034  #define         CMyViewid      1221 

        #0035  #define     CDocumentid        13 

        #0036  #define       CMyDocid         131 

        #0037 

        #0038  #include  

        #0039 

        #0040  ///////////////////////////////////////////////////////////////// 



                                                                                            203 


´´´´´´´´´´´´´´´´´´´´´´Page 266´´´´´´´´´´´´´´´´´´´´´´´

                    及鐙  齢壓検桧�B互岬 



                    #0041  // Window message map handling 

                    #0042 

                    #0043  struct AFX_MSGMAP_ENTRY�察      �// declared below after CWnd 

                    #0044 

                    #0045  struct AFX_MSGMAP 

                    #0046  �� 

                    #0047          AFX_MSGMAP* pBaseMessageMap�察�

                    #0048          AFX_MSGMAP_ENTRY* lpEntries�察�

                    #0049  ���察�

                    #0050 

                    #0051  #define DECLARE_MESSAGE_MAP�┌�  

                    #0052          static AFX_MSGMAP_ENTRY _messageEntries�ВВ察 �

                    #0053          static AFX_MSGMAP messageMap�察 �

                    #0054          virtual AFX_MSGMAP* GetMessageMap�┌� const�察�

                    #0055 

                    #0056  #define BEGIN_MESSAGE_MAP��theClass�察�baseClass��  

                    #0057          AFX_MSGMAP* theClass�今�GetMessageMap�┌� const  

                    #0058                  �� return &theClass�今�messageMap�察。�  

                    #0059          AFX_MSGMAP theClass�今�messageMap =  

                    #0060          �� &��baseClass�今�messageMap���察 �

                    #0061                  ��AFX_MSGMAP_ENTRY*�� &��theClass�今�_messageEntries�� ���察 �

                    #0062          AFX_MSGMAP_ENTRY theClass�今�_messageEntries�ВА�=  

                    #0063          �� 

                    #0064 

                    #0065  #define END_MESSAGE_MAP�┌�  

                    #0066          �� 0�察�0�察�0�察�0�察�AfxSig_end�察。�AFX_PMSG��0 ��  

                    #0067          ���察�

                    #0068 

                    #0069  // Message map signature values and macros in separate header 

                    #0070  #include ;afxmsg_。h; 

                    #0071 

                    #0072  class CObject 

                    #0073  �� 

                    #0074  public�此�

                    #0075    CObject�今�CObject�┌�  �� 

                    #0076                           �� 

                    #0077    CObject�今�~CObject�┌� �� 

                    #0078                           �� 

                    #0079  ���察�

                    #0080 

                    #0081  class CCmdTarget �此�public CObject 

                    #0082  �� 

                    #0083  public�此�

                    #0084    CCmdTarget�今�CCmdTarget�┌�  �� 

                    #0085                                   �� 

                    #0086    CCmdTarget�今�~CCmdTarget�┌� �� 



204 


´´´´´´´´´´´´´´´´´´´´´´Page 267´´´´´´´´´´´´´´´´´´´´´´´

                                                     及3嫗    MFC 鎗寄�P�I室�g岻庁�M 



#0087                                   �� 

#0088 

#0089    virtual BOOL OnCmdMsg��UINT nID�察�int nCode���察�

#0090 

#0091    DECLARE_MESSAGE_MAP�┌�       // base class no ���� ���� macros 

#0092  ���察�

#0093 

#0094  typedef void ��CCmdTarget�今�*AFX_PMSG����void���察�

#0095 

#0096  struct AFX_MSGMAP_ENTRY  // MFC 4。0 

#0097  �� 

#0098      UINT nMessage�察�// windows message 

#0099      UINT nCode�察   �// control code or WM_NOTIFY code 

#0100      UINT nID�察     �// control ID ��or 0 for windows messages�� 

#0101      UINT nLastID�察 �// used for entries specifying a range of control id's 

#0102      UINT nSig�察    �// signature type ��action�� or pointer to message # 

#0103      AFX_PMSG pfn�察 �// routine to call ��or special value�� 

#0104  ���察�

#0105 

#0106  class CWinThread �此�public CCmdTarget 

#0107  �� 

#0108  public�此�

#0109    CWinThread�今�CWinThread�┌�  �� 

#0110                                   �� 

#0111    CWinThread�今�~CWinThread�┌� �� 

#0112                                   �� 

#0113 

#0114    virtual BOOL InitInstance�┌� �� 

#0115                                      cout 
卦指朕村 貧匯匈 和匯匈 指欺競何 壘��9�� 家��10��
酔楯荷恬: 梓囚徒貧圭�鮗� ○ 賜 ★ 辛酔堀貧和鍬匈 梓囚徒貧議 Enter 囚辛指欺云慕朕村匈 梓囚徒貧圭�鮗� ● 辛指欺云匈競何!
梁椣戻幣�� 梁心弌傍議揖扮窟燕得胎��傍竃徭失議心隈才凪万弌誌育断蛍�輌臆惨軼僑〃�燕慕得珊辛參資誼持蛍才将刮襲潜��範寔亟圻幹慕得 瓜寡追葎娼得辛參資誼寄楚署衛、持蛍才将刮襲潜填��