假設A為主對話框,調用B子對話框時,首先需要在A的頭文件中聲明#include“B.h” 然后,在A的按鈕函數(shù)是編寫如下代碼: 法一:在A對話框按鈕對應的函數(shù)中聲明一個B類型的指針,通過指
? ? ? ? ?假設A為主對話框,調用B子對話框時,首先需要在A的頭文件中聲明#include“B.h”
? ? ? ? ?然后,在A的按鈕函數(shù)是編寫如下代碼:
? ? ? ? ?法一:在A對話框按鈕對應的函數(shù)中聲明一個B類型的指針,通過指針來達到調用B對話框的效果
//CDlgTestMode *dlh=new CDlgTestMode; //CDlgTestMode 為B的基類,這也是A中包含B頭文件的原因
//dlh->Create(IDC_STATIC_TEST_MODE,this); //第一個參數(shù)是被調用對話框ID號
//dlh->ShowWindow(SW_SHOW);
這種方法有時候會出錯。
? ? ? ? ?法二:通過DoModal()函數(shù)來實現(xiàn)
CDlgTestMode dlgTestMode(this); //CDlgTestMode 為B的基類
dlgTestMode.DoModal();
Invalidate(FALSE);
注:如果用戶點擊了確定按鈕,那么DoModal()函數(shù)就返回IDOK,此時進入if語句。IDOK是一個宏。
當你CMyDlg dlg;時,對話框并沒有顯示,只是構造了一個CMyDlg類型的對象而已,直到用戶調用DoModal(),對話框才會顯示出來。
? ? ? ? ?以上函數(shù)都是在A主函數(shù)的按鈕中實現(xiàn)。
聲明:所有內容來自互聯(lián)網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。