|
5.4.2 代码演练(4)
(4)在MyTest.cpp中实现类定义的关键代码:
01 BOOL CMyWinApp::InitInstance() 02 { 03 m_pMainWnd = new CMyFrameWnd; 04 return TRUE; 05 } 06 07 CMyFrameWnd::CMyFrameWnd() 08 { 09 cout << "CMyFrameWnd Constructor be called!\n"; 10 Create(); 11 } 12 IMPLEMENT_DYNCREATE(CMyFrameWnd, CFrameWnd) //提供动态创建的实现 13 IMPLEMENT_DYNCREATE(CMyDoc, CDocument) 14 IMPLEMENT_DYNCREATE(CMyView, CView) 15 void main() 16 { 17 CWinApp* pApp = AfxGetApp(); 18 CRuntimeClass* pClass; 19 CObject* pOb; 20 while(1) 21 { 22 if ((pClass = CRuntimeClass::Load()) == NULL)// 获得指定类并对比是否支持动态创建 23 break; 24 pOb = pClass->CreateObject(); //若支持则动态创建 25 if (pOb != NULL) 26 pOb->Dynamic(); 27 } 28 }
| 经过如上步骤之后,就实现了本关任务中具有MFC动态创建机制的应用程序的设计制作,其执行结果如图5-6和图5-7所示。
|
| 图5-6 模拟MFC动态创建机制1 |
|
| 图5-7 模拟MFC动态创建机制2 | 【责任编辑: 云霞 TEL:(010)68476606】
|