梓囚徒貧圭�鮗� ○ 賜 ★ 辛酔堀貧和鍬匈��梓囚徒貧議 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
��