1. 程式人生 > >MFC中的模態對話方塊和非模態對話方塊

MFC中的模態對話方塊和非模態對話方塊

MFC筆記之模態對話方塊和非模態對話方塊

迫於科研的進度壓力,我還是選擇了MFC最為工具去開發裝置除錯軟體,最初想用Qt來創新一下,然而串列埠的通訊一直沒有成功,而且周圍沒有人用Qt使得我在遇到問題無法快速的解決,最終我屈服於現實了. 今天開始速食MFC,其實也很簡單,就是感覺沒有Qt好用.

1.建立模態對話方塊

步驟:

  1. 新建對話方塊視窗,更改ID

  2. 右鍵新增類

  3. 在主對話方塊中新增訊息響應函式

  4. 在此函式中新建類物件dlg,dlg.doModal()

void CMFCdemo1Dlg::OnBnClickedButton1()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	//阻塞
	CDlgExp dlg;
	dlg.DoModal();

}

2.建立非模態對話方塊

步驟:

  1. 前面同理
  2. 在主對話方塊類中宣告私有成員變數
  3. 在初始化對話方塊函式(oninitDialog)中建立對話方塊dlg.Create(ID),保證之建立一次
  4. 最後在訊息響應函式中新增dlg.ShowWindow(WM_SHOWNORMAL);
void CMFCdemo1Dlg::OnBnClickedButton2()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	//CDlgShow dlg;
	//建立
	//dlg.Create(IDD_DIG_SHOW);//建立視窗只能建立一次,多次就會崩掉
	//顯示
	dlg.ShowWindow(SW_SHOWNORMAL);
}

在這裡插入圖片描述