動態產生Form的問題~ |
缺席
|
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
請問各位前輩~
我程式裡面拉了兩個TForm FormStyle為 fsMDIForm 名稱分別為TForm1 TForm2 我在MainForm拉了兩個Button 分別為BtnForm1 BtnForm2~ 程式執行時Form1 Form2並不會被建立起來~我想透過BtnForm1 BtnForm2分別建立起Form1 與 Form2~ 因為在動態產生時前後有相同的code要執行~所以我想要將建立Form的Code寫成一份Function分別接收Form1 Form2的指標變數 然後動態產生出兩個Form~請問各位高手~我該如何實作它~謝謝~ |
GGL
資深會員 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
|
ldd
一般會員 發表:12 回覆:62 積分:19 註冊:2004-07-06 發送簡訊給我 |
感謝您的回覆~
這個我已經在 project Options中 將其 Auto-create forms 移除Form1 Form2 我在MainForm已經include From1 與 Form2 因為Form1與Form2 各自有 *Form1 與 *Form2的全域變數指標~ 原本的ButtonForm1 code 如下 Form1 = new TForm1(Application); 原本的ButtonForm2 code 如下 Form2 = new TForm2(Application); 我想要在MainForm裡面寫一個Function如下 OpenForm(TForm *&pFrom ) pForm = new xxxxxx(Application); <---pForm根據使用者按的buttin分別傳入 Form1 Form2然後建立Form1 與Form2~ 因為程式只允許create一個 Form1 與 From2 所以我必須判斷 Form1 Form2是否為NULL,但是透過OpenForm(TForm *&pFrom ) pForm接到的Form1與Form2永遠是NULL ,當編譯時會提出警告說OpenForm產生了Temp object.這也是為什麼Form1與Form2永遠是NULL。 目前我的問題是 1.我該如何透過OpenForm 函數去 new 出Form1 From2 且真正改變了Form1 與From2 的指標? 2.我如何達到 pForm = new xxxx(Application); xxxxx根據Form1 Form2去改變為TForm1 與 TForm2? 謝謝!! ===================引 用 GGL 文 章=================== 你應該是要用MDI吧,可以試試看新增一個MDI Application 根據你給的資訊, 兩個fsMDIForm,加上一個MainForm,程式執行時應該會同時出現三個視窗 還是你是要兩個fsMDIChild一個fsMDIForm 我不清楚你再Button OnClick寫了些什麼,我猜你應該沒在MainForm include "Unit2.h"(假設你的Form2是Unit2) 然後使用Form2->Show() 如果你要在不同form傳遞參數就要使用include .h |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |