請問如何撰寫多視窗的程式... |
答題得分者是:tech_state
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
Tacohsu
一般會員 發表:6 回覆:12 積分:8 註冊:2002-07-18 發送簡訊給我 |
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
clio4177您好:
引言:請教MDIForm中該如何加入一個或多個BCB的Form?最簡單的方式就是File->New->選Form 就可以加入新的Form (Unit1.cpp & Unit1.h)了... 使用時要#include "Unit1.h" 不知道有沒有誤會您的意思... 若是要create a new MDI child window 則他裡面就有code了 void __fastcall TMainForm::CreateMDIChild(String Name) { TMDIChild *Child; //--- create a new MDI child window ---- Child = new TMDIChild(Application); Child->Caption = Name; if (FileExists (Name)) Child->Memo1->Lines->LoadFromFile(Name); } //--------------------------------------------------------------------------- void __fastcall TMainForm::FileNew1Execute(TObject *Sender) { CreateMDIChild("NONAME" IntToStr(MDIChildCount 1)); }順心 <>~我也是在學習的階段,所以請您多多見諒與指教~> 發表人 - |
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
Tacohsu, 您好
我沒有試過這樣的情形,不過如果您include進來的AP是執行檔的話,可能不行。 clio4177, 您好
我前面所提的BCB中的範例中CreateMDIChild的Fuction有提到怎麼去Create一個MDIForm,您可以參考看看,或是參考下面的連結資料。
http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_20582993.html
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=23893 =======================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
引言: tech_state: 請問如果我已經寫好了多個含有個別功能的Form,那我該如何利用MDI設計的功能按鍵來呼叫這些已經建好的Form(如同MDI所提供的文件開啟模式會不斷提供新的文字編輯子視窗)?clio4177, 您好 請試試以下的方法: (1)將做好的form 由 auto-create form 改為 Available form (2)將FormStyle改為fsMDIChild (3)再new form http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29861 試試看! ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 |
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
|
lcsboy
版主 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
To Tacohsu:
有點離題嚕, 建議可以另闢一個標題來討論 基本上是不行, 不過我想到一個解法:
1. FindWindow --> 找出你要AP的Handle
2. 使用這個Handle, 去設定那個Class的屬性 還沒空試, 所以僅供觀念上的參考. 有更好的方式, 請另開一個標題討論 ^^ To clio4177:
MDI control? 應該是粉簡單的, 提供以下方式:
String MDICaption;
TMDIChild *MDI;
......
MDI=dynamic_cast
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
引言
*********************************************************************
clio4177, 您好
請試試以下的方法:
(1)將做好的form 由 auto-create form 改為 Available form
(2)將FormStyle改為fsMDIChild
(3)再new form
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29861
試試看!
********************************************************************** To tech_state,您好:
我已經按您提供的方式嘗試了一下,測試結果是可以用的。我的程式設定如下:
Form1設定:
caption= Test
name= Test
Formstyle= fsMDIChild MDI的MainForm中的OnClick事件:
//--------------------------------------------------------------------
void __fastcall TMainForm::ToolButton13Click(TObject *Sender)
{
TTest *Test;
Test = new TTest(Application);
}
//-------------------------------------------------------------------- 有問題請教您:
為何一執行程式編譯時會出現"[C Warning] main.cpp(61): W8004 'Test' is assigned a value that is never used"錯誤?
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
To tech_state,您好:
如果把下列程式改成如下有何差異:
MDI的MainForm中的OnClick事件:
//--------------------------------------------------------------------
void __fastcall TMainForm::ToolButton13Click(TObject *Sender)
{
TTest *Test;
Test = new TTest(Application); <----- *A
Test = new TTest(this); <----- *B
}
//--------------------------------------------------------------------
因為我把*A改成*B的寫法時,程式還是可以執行。但是這個錯誤"[C Warning] main.cpp(61): W8004 'Detection' is assigned a value that is never used"還是依然存在耶。請問*A與*B這兩條程式在應用上有何差異?
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
clio4177, 您好
第一個問題taishyang版主已回答,我想您也了解了。
至於第二個問題,Application 和 this 有什麼差異?
我剛剛做了一個小實驗,在Form中使用一個Button,Button的OnClick加入以下的code,
Edit1->Text = Application->Title; Edit2->Text = this->Text;結果得到的是Edit1的值是ProjectName,而Edit2的值是FormName。 又經由Help檔得知(僅列出一部份,其餘的請參考Help檔), In nonstatic member functions, the keyword this is a pointer to the object for which the function is called. All calls to nonstatic member functions pass this as a hidden argument. this is a local variable available in the body of any nonstatic member function. Use it implicitly within the function for member references. It does not need to be declared and it is rarely referred to explicitly in a function definition. 不知這樣有沒有幫助您更了解二者的差異性? ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 發表人 - tech_state 於 2003/05/22 19:10:25 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |