MFC中模態與非模態對話方塊

2021-04-17 12:23:37 字數 563 閱讀 8353

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;

MFC模態與非模態對話方塊

1.1模態對話方塊 model dialog box 當模態對話方塊顯示時,程式會暫停執行,直到關閉這個模態對話方塊之後,才能執行程式中的其他任務。1.2非模態對話方塊 modeless dialog box 當非模態對話方塊顯示時,執行轉而執行程式中的其他任務,而不用關閉這個對話方塊。2.1模態對...

MFC模態與非模態對話方塊

1.1模態對話方塊 model dialog box 當模態對話方塊顯示時,程式會暫停執行,直到關閉這個模態對話方塊之後,才能執行程式中的其他任務。1.2非模態對話方塊 modeless dialog box 當非模態對話方塊顯示時,執行轉而執行程式中的其他任務,而不用關閉這個對話方塊。2.1模態對...

模態對話方塊與非模態對話方塊

1.對話方塊分類 按工作方式不同,可將對話方塊分成兩類 模態對話方塊 modal 在關閉模態對話方塊之前,程式不能進行其他工作 如一般的 開啟檔案 對話方塊 非模態對話方塊 modeless 非模態對話方塊開啟後,程式仍然能夠進行其他工作 如一般的 查詢與替換 對話方塊 2.對話方塊建立 模態對話方...