知识点摘要:
1、在main或者WinMain之前,全局变量已经被分配内存并被初始化了
2、在MFC中,WinMain之前全局变量theApp先被分配内存和初始化。子类构造函数执行前,父类的构造函数先执行,所以CTestApp子类的父类CWinApp的构造函数先执行。
3、大致流程:
CTestApp theApp;// 创建全局变量
WinMain()
{
AfxWinMain();//调用下面的函数 --- Afx为框架类全局函数
}
AfxWinMain()
{
pThread->Initinstance(); //初始化工作,注册窗口类,窗口显示和更新
pThread->Run(); //消息循环
}
在BOOL InitInstance()中关联三个类
{
CSingleDocTemplate * pDocTemplate;
pDocTemplate = new CSingleDoTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestDoc),
RUNTIME_CLASS(CMainFram),
RUNTIME_CLASS(CTestView);
)
AddDocTemplate(pDocTemplate);
}
4、创建一个Button
、在CMainFram::OnCreate()中
、在CView::OnCreate()中
注意:btn须为成员变量,否则生命周期太短不能显示;
样式时要加入WS_VISIBLE,否则须另外添加ShowWindow();