元件呼叫元件事件 |
尚未結案
|
Ming Lin
一般會員 ![]() ![]() 發表:27 回覆:53 積分:21 註冊:2003-04-15 發送簡訊給我 |
|
tech_state
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
lcsboy
版主 ![]() ![]() ![]() ![]() ![]() 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
引言: 請問我想在void()內呼叫 void __fastcall TForm1::Timer1Timer(TObject *Sender) 應該如何用ㄋ? 像Button1呼叫Button2Click 是 void __fastcall TForm1::Button1Click(TObject *Sender) { Button2Click(Sender); } 那為何上面那個不行ㄋ 請教教我 |
Ming Lin
一般會員 ![]() ![]() 發表:27 回覆:53 積分:21 註冊:2003-04-15 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
taishyang 版主所說的應該是您要的吧。 其實,那個 Sender 是看您想要如何利用的,就字面上的意思, Sender 就是寄件人,也就是發出訊息、觸發事件的人。
例如: void __fastcall TForm1::Button1Click(TObject *Sender)
{
} 內定,我們在表單上放個 TButton ,對它按兩下就會有以上的 code ,而真正在執行時,我們在 Button1 上 Click 一下,Button1Click() 就會被叫用,而此時的輸入參數 Sender 就會是 Button1 的指標。
我們可以將很多個按鈕的 OnClick 事件都指定到這個 Button1Click(),而如果我們需要對不同按鈕作不同的回應時,就可以由這個 Sender 得知是那個按鈕觸發的,例如:
void __fastcall TForm1::Button1Click(TObject *Sender) { if(Sender==Button1) ShowMessage("Button1 Clicked!"); else if(Sender==Button2) ShowMessage("Button2 Clicked!"); else if(Sender==Button3) ShowMessage("Button3 Clicked!"); }在這樣的情況下,直接叫用 Button1Click() 時,輸入的 Sender 參數就有作用,例如: Button1Click(Button1); 等於模擬 Button1 按一下 Button1Click(Button3); 等於模擬 Button3 按一下 而如果輸入 Button1Click(NULL); 從上述的 code 自然就等於沒有作用。 想要在 Button1Click 叫用 Timer1Timer 也是可以的 void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1Timer(Timer1); // 模擬是 Timer1 自己觸發 }當然,如果您要這樣用,那就不需要用 Timer 了,因為 Timer 是定時觸發的,如果要作 Timer 控制,就如 taishyang 版主所說 void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled = !Timer1->Enabled; // 切換 Timer1 致能狀態 }只要 Timer1->Enabled 是 true , Timer1Timer() 就定時被叫用。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
Ming Lin
一般會員 ![]() ![]() 發表:27 回覆:53 積分:21 註冊:2003-04-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |