现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

MFC中模态与非模态对话框

2012-08-28 10:33 工业·编程 ⁄ 共 467字 ⁄ 字号 暂无评论

    VC++中非模态对话框生成与模态有相似之处,主要不同在于模态采用DoModal函数生成,而非模态采用Create函数;而且非模态对话框生存周期较长,一般和父窗口的生存周期相同。

    由于要使用Create函数,因为要在生成非模态对话框的父窗口中添加对话框类的指针,类型为(假设添加类时,非模态对话框类为CModallessDlg)CModallessDlg *,假设指针名为m_pModalessDlg。

    在程序的适当处(一般在视图文件中)添加下列代码即可生成、显示非模态对话框:

    CModallessDlg *m_pModalessDlg=new CModallessDlg;       
    m_pModalessDlg->Create(标识,this);  // 标识即为所要显示的对话框的ID  
    m_pModalessDlg->ShowWindow(SW_SHOW);

    在退出前要清除生成的非模态对话框: 

    delete m_pModalessDlg;     
    m_pModalessDlg=NULL;

给我留言

留言无头像?