MFC之MFC的初始化过程

当你创建好一个MFC程序时,你可能要去找程序的入口,然后各种编辑,各种搞。若你是第一次接触MFC,则会发现怎么也找不到WinMain函数或main函数,一个程序不可能没有程序入口的,这就是接下来要讲的MFC初始化过程。

MFC将WinMain函数封装起来了,还做了一系列的初始化过程。

MFC的组成(MFC的初始化过程):
1.必须有一个CwinApp的派生类
2.必须用派生类在全局定义一个对象theApp
3.在派生类中必须重新InitInstance虚函数作为主函数
4.MFC程序就用CWinApp派生类中的InitInstance虚函数作为主函数,即程序入口。

下面来查看一下InitInstance()函数


第一步:找到类视图,若在界面上找不到,去视图中添加,在类视图中下面可看到InitInstance()函数,点击进入


MFC之MFC的初始化过程_第1张图片


第二步:整理一下InitInstance()函数中不必要的代码,留下图中的两行代码即可。显示出之前的对话框。

其中可看到,在此类中定义了一个CMFCAppApp类的全局对象theApp,对照前面说的要有一个派生类的全局对象。

想显示哪个对话框,就在InitInstance()函数中实例化一个对话框类函数,并用类成员函数DoModal()显示出来。

其中要知道MFC中一个对话框对应一个类,对话框的操作都是通过类对象操作。

其中,Domodal函数最终还是要调用EndDialog函数,返回值是点击的ID。

MFC之MFC的初始化过程_第2张图片


第二步:通过一个登陆界面来简单的说明一下对话框的显示。添加资源选Dialog。将对话框Caption属性修改一下。只是简单的说明一下窗口的调用,不真正的做一个登录窗口。以后会讲如何做一个真正的登录窗口。


MFC之MFC的初始化过程_第3张图片

第三步:之前说过一个对话框对应一个类,所以接下来要为该对话框添加一个类。双击对话框或在解决方案中右键选择类向导。基类为CDialogEx。所有的对话框的基类都是这个。


MFC之MFC的初始化过程_第4张图片


第四步:此时一个对话框就创建好了。然后去InitInstance()函数所在的文件中,包含登录对话框的头文件,在InitInstance()函数中实例化一个登录对话框的对象,并用Domoal函数显示。并实现点确认按钮显示主对话框,取消关闭程序。


BOOL CMFCAppApp::InitInstance()
{
	
	CLog logdlg;
	if (logdlg.DoModal() == IDCANCEL)
		return FALSE;
	CMFCAppDlg dlg;
	INT_PTR nResponse = dlg.DoModal();
	return FALSE;
}


你可能感兴趣的:(MFC)