1. 程式人生 > >MFC中實現單擊按鈕彈出對話方塊的方法

MFC中實現單擊按鈕彈出對話方塊的方法

1、資源檢視-->Dialog-->右鍵-->新增資源-->新建-->對話方塊-->對話方塊按右鍵--新增類。例:新增CNewDlg類,在所要調的程式碼中(按鈕點選方法中),先加標頭檔案#include  "CNewDlg.h ",之後在按鈕點選方法中:

void COnclickDlg::OnBnClickedOk()//第一種

{
 
CNewDlg  Dlg;
 
Dlg.DoModal();//模態對話方塊

}


void COnclickDlg::OnBnClickedOk()//第二種

{

CNewDlg *dlg=new CNewDlg;//非模態
 
dlg->Create(IDD_DIALOG1,this); 

//第一個引數是對話方塊ID號
 
dlg->ShowWindow(SW_SHOW); 
}


voidCOnclickDlg::OnBnClickedOk() //第三種

{

m_DemoDlg1.ShowWindow(SW_SHOW); 

//需要在主體函式初始化里加上 m_DemoDlg1.Create(IDD_DIALOG1,this);
 
}

2、建立非模態的另一種方法

首先, 在工程的資源裡面3個對話方塊(假設ID是IDR_MENU1, IDD_DIALOG1, IDD_DIALOG2, IDD_DIALOG3);
其次, 對按鈕響應的函式裡新增一個COMMEND MESSAGE, 系統會自動生成一個函式, 在函式裡面寫以下程式碼
 // TODO: Add your command handler code here
 CDialog* dlg = new CDialog;//非模態
 dlg->Create(MAKEINTRESOURCE(IDD_DIALOG1));
 dlg->ShowWindow(1);
 其他兩項也一樣的做法