線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1044
推到 Plurk!
推到 Facebook!

有關MDI的問題?

答題得分者是:firewing
eilan
一般會員


發表:1
回覆:2
積分:0
註冊:2003-03-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-18 17:52:46 IP:140.114.xxx.xxx 未訂閱
我的程式開啟後設計有一個主視窗和一個子視窗,主視窗傳遞資料給子視窗繪圖,然後可以開啟新的子視窗接收新的資料繒圖。但是在開啟新的視窗後,卻沒有辨法將料資料傳給子視窗,會傳給舊的子視窗。不知道要如何解決。還有在關閉子視窗時在FormClose()函數中加入Action=caFree;要關閉它,但是舊的子視窗可以關閉,新的子視窗卻會出現存取位址錯誤。不知道有什麼解決方法。 謝謝
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-19 01:49:14 IP:61.228.xxx.xxx 未訂閱
請你告知傳訊息的方法, 如果程式不長的話, 最好貼上來好嗎. Jesse Chan
------
Jesse Chan
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-19 14:33:26 IP:139.223.xxx.xxx 未訂閱
若你要變更視窗間的轉換請在MainForm加入以下: TForm1 *form1; //TForm1 是你的子視窗 form1=(TForm1 *)ActiveMDIChild; 就可以利用 form1 來使用子視窗了... 例如要變更 Caption form1->Caption="new";
eilan
一般會員


發表:1
回覆:2
積分:0
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-20 11:12:08 IP:140.114.xxx.xxx 未訂閱
感謝各位的回答,我試了一下firewing的方法,似乎不管用,因為程式太長,所以我想簡化說明我的問題如下。 程式開始時會出現一個主視窗Main和一個子視窗Display,分別是屬於TMain類別和TDisplay類別。 TMain:Main() { ....... } TMain:RunClick() { Display->var1=....; Display->Var2=....; Display->Paint() } TMain:NewClick() { TDisplay *Display=new TDisplay(this); Display->Show(); } TDisplay:Display() { ....... } TDisplay:Paint() { .... } 主視窗有兩個按鈕,一個可以計算新的資料將資料利用TDisplay類別的Paint()函數繪圖。一個產生新的子視窗,再利前面敘述的按鈕重新將新的資料秀在新的子視窗。我不知道是不是新產生的子視窗名字不能和原來的子視窗一樣(如果一樣的話要怎樣程式才能分別新的視窗和舊的視窗),可是如果不一樣的話,主程式就不能子視窗的Paint()函數繪圖了。而關於前一篇我post所提到無法關閉新的子視窗的問題,我猜也是無法讓主程式傳遞資訊到新的子視窗的問題。不知道我這樣敘述問題是否清楚。謝謝
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-20 18:23:50 IP:139.223.xxx.xxx 未訂閱
你好: 請改成這樣試試看 TMain:RunClick() { TDisplay *form1=(TForm1 *)ActiveMDIChild; form1->var1=....; form1->Var2=....; form1->Paint() }
eilan
一般會員


發表:1
回覆:2
積分:0
註冊:2003-03-14

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