MFC-模塊對話框與非模塊對話框

模塊對話框打開之後不能同時使用其它對話框,非模塊可以

 

新建一個MFC項目,選擇基於對話框,在資源視圖中IDD_xxx_DIALOG中創建兩個按鍵(xxx是項目名),取名模塊和非模塊(不能雙擊,雙擊是創造程序),然後在資源視圖中的Dialog右鍵插入Dialog(創建另一個對話框,找不到資源視圖雙擊解決方案資源文件中的xxx.rc),在新的Dialog1中弄個標識符(比如模塊),然後添加類,再回到原來的對話框,雙擊模塊,他會自己創建一個藉口,你只要往裏面填代碼即可,不要忘記頭文件,在裏面創建對象。

 

//模態對話框
void CMA3Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知處理程序代碼
	CDIALOG1 dig1;
	dig1.DoModal();
}

 

非模塊前面步驟相同,但是非模塊是可以同時操作其它對話框的,所以他創建的對象需要在類中設爲私有,不能在函數中創建對象,然後需要以ID進行創建,dig2.Create(IDD_DIALOG2); ,但是這樣非模塊只能打開一次,第二次會因爲創建失敗而崩潰,所以

dig2.Create(IDD_DIALOG2);可以放在類的初始化函數中,那邊有專門給外部初始化留的地方,然後dig2.ShowWindow(SW_SHOWNORMAL);運行即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章