在C的MFC中如何在用DoModal()呼叫另外視窗後把原來的視窗消失

2022-09-29 16:58:08 字數 1891 閱讀 9954

1樓:匿名使用者

主視窗可採用非模式對話方塊方式,第二個視窗用模式或非模式都可以。

主視窗顯示時,可以調物件的showwindow(sw_show),等第二個視窗彈出後,再調主視窗物件的showwindow(sw_hide)。

如果需要在第二個視窗中單擊退出程式時,直接調主視窗的onclose(),由於onclose()函式是主視窗的protected函式,你可以在主視窗中定義一個pubilc的close函式,執行onclose(),然後調主視窗的close(),或者直接exit(0),不過這樣有時候會出問題。

2樓:匿名使用者

1、建立message map(訊息對映),將button的command訊息對映到一個函式上面。

2、在函式中建立record窗體的例項並呼叫domodal呈現視窗。

在網上給你找了一個例子,可以自己看看:

-----------------------------補充:如何建立訊息對映這是mfc最基礎的知識了,如果這個都不會那mfc其它的根本沒法搞了。硬讓我在這裡講訊息對映這種基本功的話太囉嗦而且不一定說得清楚,你應該先看看書,或者看我上面給的連結中的例子。

那個例子中的第5個就是顯示多個子視窗的。什麼叫做「怎麼呼叫domodal」?domodal是cdialog的一個成員函式,直接呼叫就是了,還能有其他什麼呼叫方法?

3樓:四念住

domodal()前執行showwindow(sw_hide)。 就會把父視窗隱藏了. 子視窗要響應onclose,裡面把父視窗給showwindow(sw_show); 顯示出來.

vc中,使用dlg.domodal()開啟一個視窗,除了使用idok或者idcancel可以關閉當前視窗外,如何關閉當前視窗 5

4樓:匿名使用者

你描述的內容相互矛盾。

如果你的domodal只在同一個視窗中呼叫,那麼是不可能反覆點選開啟多個的,這是模態對話方塊的特徵。如果是要求按鈕只允許按一次,那麼domodal返回idok後enable函式禁止按鈕就可以了。

domodal存在父子視窗關係,你不可能關閉了父視窗而保留子視窗。因此如果你要「關閉」的是主視窗,那麼只能是隱藏,不能使關閉。

無論onok還是oncancel,最終都是通過enddialog結束的對話方塊,這個函式在對話方塊中隨時可以呼叫。而正確使用時,不是隻有兩個id的按鈕才可以結束對話方塊,任何自定義按鈕中呼叫基類的cdialog::onok();這個語句,都可以結束對話方塊並將domodal返回idok訊息。

mfc中如何用一個對話方塊實現對另一個視窗的控制?

5樓:旁丹聞晴霞

如何控制,控制視窗大小,位置,控制視窗操作,關閉視窗。。。。假如視窗裡有一個按鈕,控制它單擊嗎?或者類似的操作。。。

6樓:匿名使用者

不呼叫資料的話普通情況就可以了

// todo: add your command handler code here

cxxdlg m_mydlg;

m_mydlg.domodal();

//建立非模態對話方塊

// todo: add your command handler code here

if (!m_xx.m_hwnd) //判斷對話方塊是否已被建立

m_mydlg.showwindow(sw_show);

呼叫資料或函式的話可以用友元類,1的標頭檔案中include2的標頭檔案,然後在1標頭檔案中找到類定義的地方,在public下加friend xx2class;

這樣定義的2的物件就可以使用2的成員函式和變數了

7樓:三歲救很帥

獲取視窗控制代碼 發訊息sendmessage

如何在MFC中呼叫CUDA,如何在c 工程中呼叫cuda函式

有時候,我們需要在比較大的專案中呼叫cuda,這就涉及到mfc cuda的環境配置問題,以矩陣相乘為例,在mfc中呼叫cuda程式。我們參考羅振東iylzd 163.com 國防科學技術大學計算機學院 的方法。環境 windows 7 sp1 microsoft visual studio 2010...

C中如何在類中呼叫另類中的資料,C 中 如何在一個類中 呼叫另一個類中的資料?

c 窗體間傳遞資料有好多種方法,說下個簡單的 在要呼叫的窗體中新增被呼叫窗體欄位,構造方法中傳入被呼叫的窗體做引數,將被呼叫窗體的需要被呼叫的資料的訪問修飾符設定為 public 將form1的 listbox 的訪問修飾符設定為 public這樣就可以通過欄位.屬性 呼叫被呼叫窗體的資料了 pub...

在C中,如何在子窗體的picturebox中顯示主窗體picturebox中的影象

方法很多 子窗體構造的時候可以穿過去,也可以用個靜態屬性傳過去 以下是靜態屬性的 public static picturebox pic new picturebox private void form1 load object sender,eventargs e private void bu...