对话框的类型及创建
对话框分为模态对话框和非模态对话框
模态对话框:
-
产生之后会对程序有一个堵塞,只有当模态对话框关闭之后才能对其他的对话框进行操作
-
创建方法:在所需的代码段内使用如下代码
CClass dlg; //模态方式弹出 dlg.DoModal();
非模态对话框:
-
产生之后不会对其他对话框有影响
-
创建方法:
/* 因为它不像模态对话框一样生成一个拥塞,所以在声明窗口变量的时候需要在.h中进行声明,以保存这个 变量,要不然会一闪而过*/ //1. 在相应的.h中声明 CClass dlg; //2. 创建对话框,这里使用dlg.create(ID)函数,因为create不允许多次调用,实际软件使用的时候无法避免多次点开创建的情况,因此把创建放在相应窗口的初始化函数 OnInitDialog() 中 dlg.Create(Diag_ID); //3. 显示。在相应的位置使用showwindow()函数 dlg.ShowWindow(SW_SHOWNORMAL); //里面的参数可以查阅手册,是显示的方式。
MFC在主窗口出现之前先弹的窗口
-
以一个软件的登录界面为例,在主窗口之前弹出,他的初始化在App类中的InitInstance()中声明
-
创建方式:
//登录界面的话以模态形式创建 CLoginDlg dlg; dlg.DoModal();