有關Button傳遞訊息問題 |
尚未結案
|
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
Dear supman: 因為我在form2裡面程式要寫在MonthCalendar1Click 事件裡面
form1裡面有兩個edit 及 button
當各按下任一 button時會出現月曆以供使用者選擇
如使用您的方法還是需要再form2裡的MonthCalendar1Click裡面去判斷哪個button所按下的
我目前是想這樣做
// In Form1 void __fastcall TForm1::SpeedButton14Click(TObject *Sender) { Form3->Show(); } //------------------------------------------------------------------ void __fastcall TForm1::SpeedButton22Click(TObject *Sender) { Form3->Show(); } // ~~~~ In Form2 void __fastcall TForm2::MonthCalendar1Click(TObject *Sender) { if(form1裡的button1按下 == true) // 這裡不知道怎麼去判斷 { Form1->MaskEdit1->Text=Form2->MonthCalendar1->Date; } if(form1裡的button2按下 == true) { Form1->MaskEdit2->Text=Form2->MonthCalendar1->Date; } }不曉得我這樣做可以嗎?/ 是否有更好的做法呢>?? 謝謝supman回應.. |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
按照您的寫法是可以,以下程式碼您參考一下
Unit1 //--------------------------------------------------------------------------- #include但我覺得這種寫法很有問題。 1.您的Form必須要用Show的方式否則無效。 2.他還是依靠著Click中所傳入的Sender去達到,也就是說,不可能無緣無故經由From1丟一個訊息出來,沒有任何變數去接收,但又可以讓您想用就用。 3.如果是模組化,您的Form2不應該回頭存取Form1的資料,如果是這樣則Form2就沒辦法再利用,因該是經由Form1去初始化Form2才對。 |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
odyaho:可以利用button的屬性Tag(內定是0), 你可以於button的OnClick事件中 if (button1->Tag) // button->Tag不為0 button1->Tag=0; // 取消按下 else button1->Tag=1; // 按下 如此於Form2隨便你玩! // ~~~~ In Form2 void __fastcall TForm2::MonthCalendar1Click(TObject *Sender) { if(Form1->button1->Tag) // form1裡的button1按下 { Form1->MaskEdit1->Text=Form2->MonthCalendar1->Date; } if(Form1->button2->Tag) // form1裡的button2按下 { Form1->MaskEdit2->Text=Form2->MonthCalendar1->Date; } } 請參考!Andy Chang
------
Andy Chang |
odyaho
初階會員 發表:60 回覆:104 積分:42 註冊:2005-02-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |