同時觸發多個元件的事件 |
答題得分者是:RaynorPao
|
JoyceZeng560
一般會員 發表:9 回覆:6 積分:3 註冊:2003-06-23 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 假如我在Panel1上面有3個Button,要怎麼同時觸發這3個Button的事件? >>< face="Verdana, Arial, Helvetica"> JoyceZeng560 你好: 可以利用 TPanel class 中的 Broadcast method 達到目的 以下是範例程式碼,參考看看 < class="code"> void __fastcall TForm1::Button4Click(TObject *Sender) { Memo1->Clear(); TMessage msg; msg.Msg=WM_LBUTTONDOWN; Panel1->Broadcast(&msg); Button4->SetFocus(); } void __fastcall TForm1::Button1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Memo1->Lines->Add("Button1MouseDown"); } void __fastcall TForm1::Button2MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Memo1->Lines->Add("Button2MouseDown"); } void __fastcall TForm1::Button3MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Memo1->Lines->Add("Button3MouseDown"); } 備註: 以上的方式只適用於觸發多個元件的同一個事件,如果想要分別觸發不同的事件 ,那應該用 Win32 API SendMessage 一個一個寫就可以了 --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |