模態對話框

模態對話框

模態對話框(Modal Dialogue Box,又叫做模式對話框),是指在用戶想要對對話框以外的應用程式進行操作時,必須首先對該對話框進行回響。如單擊【確定】或【取消】按鈕等將該對話框關閉。一般來說,Windows應用程式中,對話框分為模態對話框和非模態對話框兩種。二者的區別在於當對話框打開時,是否允許用戶進行其他對象的操作。

區別

模態對話框壟斷了用戶的輸入。當一個模態對話框打開時,用戶只能與該對話框進行互動,而其他用戶界面對象收不到輸入信息。模態對話框下,用戶需要操作目標對話框就必須先操作模態對話框。用戶對模態對話框的處理如圖所示。

模態對話框的處理過程 模態對話框的處理過程

非模態對話框(Nonmodal Dialogue Box,又叫做無模式對話框),與模態對話框不同,當用戶打開非模態對話框時,依然可以操作其他視窗。

建立模態對話框

1.選擇File/New/MFC AppWizard[exe],Project name為Test,單擊OK.

2.選擇Single document,單擊Finish.

3.選擇左側Workspace/ResourceView,在Dialog上單擊右鍵,選擇Insert Dialog,默認名字為IDD_DIALOG1.

4.雙擊右側工作區中的對話框,彈出一對話框Adding a Class,默認選擇Create a new class,單擊OK.

5.在對話框New Class中,在Name中填入CDialogproty,Base class選擇預設名字CDialog,單擊OK.在MFC ClassWizard 上選擇OK.

6.選擇左側Workspace/ClassView,雙擊CTestView

#include "Dialogproty.h"

class CTestView : public CView

{

protected: // create from serialization only

7.選擇左側Workspace/ResourceView/Menu,雙擊IDR_MIANFRAME,在右側工作區上方,"幫助(H)"後雙擊,彈出對話框Menu Item Properties,點擊General/Pop-up,選為非選擇狀態,在ID內輸入IDR_TEST,Caption中輸入Test,關閉對話框Menu Item Properties,

8.在按鈕Test上點擊右鍵,選擇ClassWizard...,在Messages中選擇COMMAND,點擊Add Function...,彈出對話框Add Member Function,點擊OK,選擇Edit Code.

9.在以下函式中添加代碼

void CTestView::OnTest()

{

// TODO: Add your command handler code here

CDialogproty dlg;

dlg.DoModal();

}

10.編譯,運行。點擊選單按鈕Test,彈出對話框,點擊OK!完成!

相關詞條

熱門詞條

聯絡我們