VC++6.0 MFC顯示模態對話方塊和非模態對話方塊
阿新 • • 發佈:2018-11-23
1、模態對話方塊
#include "AddDataDlg.h"//新增標頭檔案 CAddDataDlg AddData_Dialog;//在標頭檔案中定義對話方塊物件(CAddDataDlg為該對話方塊對應的類) int nReturn = AddData_Dialog.DoModal();//在原始檔函式中顯示模態對話方塊,將返回值賦給nReturn if (nReturn ==IDCANCEL)//整形的結果如果是取消 { return FALSE;//就返回FALSE,對於當前這個按鈕按下事件的處理結束。 } if (nReturn == IDOK)//整形的結果如果是確定 { return TRUE;//就返回TRUE,對於當前這個按鈕按下事件的處理結束。 }
2、非模態對話方塊
在主對話方塊類標頭檔案中定義指標:
#include "SDataDLG.h"//新增標頭檔案
CSDataDLG *m_SelectData_Dialog;//定義對話方塊指標(CSDataDLG為對話方塊所對應的類)
在主對話方塊類的構造裡面初始化指標:
m_SelectData_Dialog=NULL;//初始化對話方塊指標
在顯示對話方塊函式中新增顯示程式碼:
//判定對話方塊是否有所指向 if (m_SelectData_Dialog == NULL) { m_SelectData_Dialog = new CSDataDLG();//指向一個非模對話方塊示例 m_SelectData_Dialog->Create(IDD_Select_DIALOG, this);//建立 } m_SelectData_Dialog->ShowWindow(SW_SHOW);//顯示
為主對話方塊類新增解構函式:
//在標頭檔案中的建構函式下方新增
~ CSensorSysDlg();//解構函式
//在原始檔中的建構函式下方新增
//解構函式
CSensorSysDlg::~CSensorSysDlg()
{
}
在解構函式中對指標進行析構:
//解構函式
CSensorSysDlg::~CSensorSysDlg()
{
//析構非模態對話方塊
if (m_SelectData_Dialog != NULL)
{
delete m_SelectData_Dialog;
m_SelectData_Dialog = NULL;
}
}