MFC对话框的类型与创建

匆匆过客 提交于 2019-11-30 01:25:39

对话框的类型及创建

对话框分为模态对话框和非模态对话框

模态对话框:

  • 产生之后会对程序有一个堵塞,只有当模态对话框关闭之后才能对其他的对话框进行操作

  • 创建方法:在所需的代码段内使用如下代码

    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();
    
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!