全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1950
推到 Plurk!
推到 Facebook!

動態產生Form的問題~

缺席
ldd
一般會員


發表:12
回覆:62
積分:19
註冊:2004-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-01-03 14:00:01 IP:61.57.xxx.xxx 訂閱
請問各位前輩~
我程式裡面拉了兩個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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-01-04 15:44:27 IP:203.73.xxx.xxx 未訂閱
你應該是要用MDI吧,可以試試看新增一個MDI Application

根據你給的資訊, 兩個fsMDIForm,加上一個MainForm,程式執行時應該會同時出現三個視窗
還是你是要兩個fsMDIChild一個fsMDIForm

我不清楚你再Button OnClick寫了些什麼,我猜你應該沒在MainForm include "Unit2.h"(假設你的Form2是Unit2)
然後使用Form2->Show()

如果你要在不同form傳遞參數就要使用include .h
ldd
一般會員


發表:12
回覆:62
積分:19
註冊:2004-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-01-04 20:45:24 IP:61.57.xxx.xxx 訂閱
感謝您的回覆~
這個我已經在 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
系統時間:2024-04-20 21:08:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!