看到的參考範例是這樣:
void __fastcall Form1::Button1Click(TObject *Sender) {
// 動態產生Timer
TTimer *NewTimer = new TTimer(this);
NewTimer->Interval = 100;
NewTimer->Enabled = true;
NewTimer->OnTimer = GoTimer;
Timer1 = NewTimer;
NewForm->Show();
}//————————————––
void __fastcall HTTPThread::GoTimer(TObject Sender) {
ProgressBar1->Position++;
if(ProgressBar1->Position==ProgressBar1->Max) {
ProgressBar1->Position= 0;
Timer1->Enabled = false;
}
}
從這個例子學到怎樣assign trigger function到new出來的timer,以及timer可以把自己的Enabled變成false。
所以其他的VCL元件應該也都是類似的方法在產生吧…
Thread如果要動態產生就不是這樣簡單了,不過目前還沒有需要用到,所以先不研究。
但如果我動態產生的timer個數是變動的,且每個timer被分配要控制的元件也是動態決定的,我要怎麼去寫這個trigger function 呢… @@
看樣子還得寫「管理一群timer」的function和database才行了,唉。
