Form的名稱可當變數用嗎? |
尚未結案
|
peijunyan
一般會員 ![]() ![]() 發表:2 回覆:4 積分:1 註冊:2004-10-07 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 我有一堆form共用一支程式 會改變的只有form名稱 因為不知道怎麼用 目前是把程式複製成多份 每份不一樣的只有form名稱 請問Form的名稱可當變數用嗎? 如果有,該怎麼使用? ps:我是初學者,問題太笨不要笑我 ^^~peijunyan你好< >: 站上有相當多這方面的詢問,可以先查一下< >! 另外我覺得你的需求比較像這樣的: 可能有一個你自已寫的function,假設寫在Form1中好了,那可能project中還有很多的Form,例如 Form2、Form3......,也會call這隻function! 你目前應該是每個Form的cpp中都寫一遍,我建議是只在Form1中的cpp中寫一遍,然後所有Form呼叫 這個function的時候,把自已當參數傳入,那麼這個function就知道是誰在呼叫它了! 範例(假設Form1的cpp中有一個改變Form的Caption屬性的function,所有Form都可以呼叫它): Unit1.cpp ~~ TForm1 *Form1; void SetCaption(TObject* Sender,AnsiString cptn); //定義這個function //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { SetCaption(this,Edit1->Text); //按button1執行該function } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { TForm2* Form2=new TForm2(Application); //按button2新增一個Form Form2->Show(); } //--------------------------------------------------------------------------- void SetCaption(TObject* Sender,AnsiString cptn) //function主體 { TForm* Now_Form=(TForm*)Sender; //取得呼叫它的Form Now_Form->Caption=cptn; //設定caption } =========================================================================== Unit2.cpp ~~ void __fastcall TForm2::Button1Click(TObject *Sender) { extern void SetCaption(TObject* Sender,AnsiString cptn); //宣告這個function(因為寫在Form1的cpp中) SetCaption(this,Edit1->Text); //同樣寫法執行這個function }All |
peijunyan
一般會員 ![]() ![]() 發表:2 回覆:4 積分:1 註冊:2004-10-07 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 謝謝你的答覆~ |
peijunyan
一般會員 ![]() ![]() 發表:2 回覆:4 積分:1 註冊:2004-10-07 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: sorry~ |
peijunyan
一般會員 ![]() ![]() 發表:2 回覆:4 積分:1 註冊:2004-10-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |