1樓:匿名使用者
先在類檢視中右鍵,新建一個對話方塊類,然後向上面說的建立一個物件,呼叫domodal,也可以用指標呼叫,但這建立的時模態對話方塊,可以用creat函式,showwindow函式建立非模態對話方塊例如
if(!iswindow(m_student.m_hwnd)) //建立並顯示非模態對話方塊
m_studeng.showwindow(sw_show);
*/cbook book; //建立並顯示模態對話方塊方法1
book.domodal();
/* cbook *pbook =new cbook(); //建立並顯示模態對話方塊方法2
pbook->domodal();
delete pbook;*/
2樓:
雙擊對話方塊以外的區域先對你的對話方塊建立一個類
然後在你要呼叫的檔案裡包含你對話方塊類的.h檔案,然後在呼叫的函式裡先定義一個該對話方塊類的物件,然後用domal函式就可以了
3樓:
先雙擊對話方塊類資源建立自己的對話方塊類
然後cmydlg(建立自己的對話方塊類)
cmydlg dlg;
dlg.domodal();
4樓:
利用對話方塊類資源建立自己的對話方塊
然後建立對話方塊類cmydlg
在呼叫的地方建立對話方塊類物件cmydlg dlg;
然後dlg.domodal();
ps.在mfc裡面有些類有建構函式,有些沒有,這是為啥呢?有方法每個類都有一個建構函式與解構函式?
在c++中類的建構函式如果你沒有定義,系統可以自動生成一個無引數的建構函式,建構函式不一定是一個,可以有多個的,看你的需要罷了。
5樓:匿名使用者
[code=c]/c++cyourdialog::oninitdialog()
[/code]
mfc中如何在一個對話方塊中呼叫另外一個對話方塊的函式
6樓:幸巴達
你可以把主對話方塊類的指標傳給新對話方塊.
通過這個指標呼叫主對話方塊的東西.
假設主對話方塊為cmaindlg,新對話方塊為cchilddlg;
// cchilddlg 呼叫主對話方塊的doother函式;
// 當然非模態對話方塊等其他任何對話方塊也可以這樣做.
class cmaindlg
void doother(){}
};class cchilddlg
cchilddlg():m_pmain(null){}};
7樓:走出憧憬
沒個對話方塊就是一個類啊 你在這個對話方塊類裡面定義一個主對話方塊的物件,然後就可以用該物件呼叫主對話方塊的函式了。
8樓:匿名使用者
postmessage是win32裡常用的做法,可以將所需要的所有資料(包括函式地址)封裝到一個struct的結構裡.
"走出憧憬"的做法不可行,這種方法無法獲得主視窗的執行環境,也就是無法使用在主視窗裡已經使用的一些變數的數值.
最簡單的還是"魔高丈"的做法了.只要這兩個視窗具有父子關係.
9樓:匿名使用者
使用全域性變數,再用extern外部宣告他們
10樓:匿名使用者
postmessage
11樓:魔高丈
cmasterdlg *pparent = (cmasterdlg *)getparent();
MFC,想在對話方塊裡面呼叫另對話的引數,怎麼辦呀
當然不可以,你沒法獲得對方的成員 你要獲得它執行的例項物件 2個程序的通訊,麻煩點 但是你可以通過hwnd h findwindow 視窗名字 來獲取控制代碼 cwnd w cwnd fromhandler h 然後就可以做了 例如第2個對話方塊的成員為 int a 0 給他夠找一個方法 int g...
關於VB中通用對話方塊的問題,vb通用對話方塊的問題
看你用了幾個通用對話方塊控制元件,如果是幾個命令按鈕控制一個通用對話方塊控制元件。第一次使用之後。commondialog1.filename 屬性就會記錄下來。然後在你按另存的時候。點取消或是關閉,就會提示出錯。所以在你開啟另存視窗前一定要把 commondialog1.filename 清空。即...
玩dota的時候突然跳出對話方塊
這個問題,我也遇到過,這是遊戲衝突,偶爾才會有,請lz不要放在心上,沒事的,而且這種情況只會偶爾發生在ai上,其實沒事的。這是魔獸爭霸的記憶體溢位錯誤,一般來說,出現這個錯誤要麼就乙個人出,要麼全部人都出現,你這種情況我還真不了解。出現這種情況一般是魔獸的地圖有bug,造成了記憶體溢位。比如說玩dota...