嗔秤戻幣�哉膵�云利匈嬉蝕湊蛸賜�塋床四衲���萩晦編報炎嘔囚^泡仟 ̄云利匈�《超噌�殻窟�嵌虜隆輓麈觚翹瀘卉韮�仍仍�。� 烏御危列
昂昂慕汐 卦指云慕朕村 厘議慕尺 厘議慕禰 TXT畠云和墮 序秘慕杏 紗秘慕禰

侮秘燃竃MFC及2井(PDF鯉塀)-及62嫗

梓囚徒貧圭�鮗� ○ 賜 ★ 辛酔堀貧和鍬匈��梓囚徒貧議 Enter 囚辛指欺云慕朕村匈��梓囚徒貧圭�鮗� ● 辛指欺云匈競何��
!!!!隆堋響頼��紗秘慕禰厮宴和肝写偬堋響��






       更夛痕方��宸戦旺掲峺C���� 更夛塀����恢伏竃斤�鵝� 



       挫麼吭� �



       窃艶侏村利議圷殆侏塀CRuntimeClass 噐頁嗤阻延晒�此�



       // in MFC。H 

       struct CRuntimeClass 

        �� 

       // Attributes 

               LPCSTR m_lpszClassName�察�

               int m_nObjectSize�察�

               UINT m_wSchema�察�// schema number of the loaded class 

               CObject* ��PASCAL* m_pfnCreateObject���┌��察�// NULL =〃 abstract class 

               CRuntimeClass* m_pBaseClass�察�



               CObject* CreateObject�┌��察�

               static CRuntimeClass* PASCAL Load�┌��察�



               // CRuntimeClass objects linked together in simple list 

               static CRuntimeClass* pFirstClass�察�// start of class list 

               CRuntimeClass* m_pNextClass�察      �// linked list of registered classes 

        ���察�



                                                                                    143 


´´´´´´´´´´´´´´´´´´´´´´Page 206´´´´´´´´´´´´´´´´´´´´´´´

          DECLARE_DYNCREATE  /IMPLEMENT_DYNCREATE  崎 



                   葎阻咀哘CRuntimeClass 嶄仟奐議撹埀延楚�� 厘断壅耶曾倖崎�� 



                   DECLARE_DYNCREATE 才IMPLEMENT_DYNCREATE�此�



                   #define DECLARE_DYNCREATE��class_name��  

                           DECLARE_DYNAMIC��class_name��  

                           static CObject* PASCAL CreateObject�┌��察�



                   #define IMPLEMENT_DYNCREATE��class_name�察�base_class_name��  

                           CObject* PASCAL class_name�今�CreateObject�┌�  

                                   �� return new class_name�察。�  

                           _IMPLEMENT_RUNTIMECLASS��class_name�察�base_class_name�察�0xFFFF�察 �

                                   class_name�今�CreateObject�� 



                   噐頁��參CFrameWnd 葎箭��和双殻會旗鷹�此�



                   // in header file 

                   class CFrameWnd �此�public CWnd 

                   �� 

                           DECLARE_DYNCREATE��CFrameWnd�� 

                       。。。 

                   ���察�



                   // in implementation file 

                   IMPLEMENT_DYNCREATE��CFrameWnd�察�CWnd�� 



                   祥瓜婢蝕泌和��廣吭��園咎匂僉��/P 辛誼念崔侃尖潤惚���此�



                   // in header file 

                   class CFrameWnd �此�public CWnd 

                   �� 

                   public�此�

                           static CRuntimeClass classCFrameWnd�察�

                           virtual CRuntimeClass* GetRuntimeClass�┌� const�察�

                           static CObject* PASCAL CreateObject�┌��察�

                       。。。 

                   ���察�



                   // in implementation file 

                   CObject* PASCAL CFrameWnd�今�CreateObject�┌� 

                           �� return new CFrameWnd�察。� 



144 


´´´´´´´´´´´´´´´´´´´´´´Page 207´´´´´´´´´´´´´´´´´´´´´´´

 static char _lpszCFrameWnd�ВА�= ;CFrameWnd;�察�

 CRuntimeClass CFrameWnd�今�classCFrameWnd = �� 

         _lpszCFrameWnd�察�sizeof��CFrameWnd���察�0xFFFF�察�CFrameWnd�今�CreateObject�察�

                 RUNTIME_CLASS��CWnd���察�NULL ���察�

 static AFX_CLASSINIT _init_CFrameWnd��&CFrameWnd�今�classCFrameWnd���察�

 CRuntimeClass* CFrameWnd�今�GetRuntimeClass�┌� const 

         �� return &CFrameWnd�今�classCFrameWnd�察。� 



 夕幣泌和�此�



        C O  b j e c t �此。此�c l a s s C  O b j e c t C C  m  d T a r g e t �此。此�c l a s s C  C m  d T a r g e t C W  i n T h r e a d �此。此�c l a s s C  W  i n T h r e a d 



                ^ C O  b j e c t  ̄                        ^ C C  m  d T a r g e t  ̄                   ^ C W in T h r e a d  ̄ 



             m  _ p B a s e C la s s                     m  _ p B a s e C la s s                      m  _ p B a s e C la s s 

             m  _ p N e x t C  la s s                     m  _ p N e x t C  la s s                    m  _ p N e x t C  la s s 



                                   N U  L L 

  N U  L L 



     C F r a m  e W  n d �此。此�c l a s s C F r a m  e W  n d C W  n d �此。此�c l a s s C W  n d     C W  i n A p p �此。此�c l a s s C W  i n A p p 



             ^ C F r a m  e W  n d  ̄                          ^ C W n d  ̄                               ^ C W in A p p  ̄ 



             m  _ p B a s e C la s s                     m  _ p B a s e C la s s                      m  _ p B a s e C la s s 

             m  _ p N e x t C  la s s                     m  _ p N e x t C  la s s                    m  _ p N e x t C  la s s 



        C D  o c u m  e n t �此。此�c l a s s C D  o c u m  e n t C V i e w  �此。此�c l a s s C  V i e w 



              ^ C D  o c u m  e n t  ̄                        ^ C V ie w  ̄ 



                                                                                                   ��s t a t i c 延楚�� 

                                                                                                   C R  u n t i m  e C l a s s �此。此�p F i r s t C l a s s 



             m  _ p B a s e C la s s                     m  _ p B a s e C la s s 

             m  _ p N e x t C  la s s                     m  _ p N e x t C  la s s 



  仝斤�麌�撹匂々CreateObject 痕方載酒汽��峪勣傍new 祥挫。 



貫崎議協吶厘断載賠萱辛參心竃��啜嗤強蓑伏撹��Dynamic Creation ��嬬薦議窃艶垂�� 



駅隼呀啜嗤峇佩扮豚窃侏紛艶��RTTI ��嬬薦��咀葎_DYNCREATE 崎梱固阻_DYNAMIC 



崎。 



廣吭�災塹揃鏡�岷俊柳欺Frame6 。云慕及匯井嗤匯倖Frame5 殻會��喘參径寔MFC 2。5 



斤強蓑伏撹議恬隈。吏並厮厶��響宀奚将栖痕燕幣短嗤駅勣戻狛肇議叫廉��予奐辻薦減 



塞。厘�誨科韮�趨拝MFC 4。x  議恬隈厚挫厚否叟阻盾��侭參厘委Frame5 鎮渠阻��徽挽 



隠藻彭會催。 



                                                                                                                                                                              145 


´´´´´´´´´´´´´´´´´´´´´´Page 208´´´´´´´´´´´´´´´´´´´´´´´

                  及鐙  齢壓検桧�B互岬 



                   袈箭殻會Frame6 壓。h 亀嶄嗤宸乂窃艶蕗苧�此�



                  class CObject 

                   �� 

卦指朕村 貧匯匈 和匯匈 指欺競何 壘��1�� 家��1��
隆堋響頼��紗秘慕禰厮宴和肝写偬堋響��
梁椣戻幣�� 梁心弌傍議揖扮窟燕得胎��傍竃徭失議心隈才凪万弌誌育断蛍�輌臆惨軼僑〃�燕慕得珊辛參資誼持蛍才将刮襲潜��範寔亟圻幹慕得 瓜寡追葎娼得辛參資誼寄楚署衛、持蛍才将刮襲潜填��