April 24, 2006

如何在BCB動態產生timer

Filed under: 電腦記事 — afoofa @ 4:37 pm

看到的參考範例是這樣:

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才行了,唉。

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Security Code:


Freely hosted by Weblogs.us. Powered by WordPress. Theme by H P Nadig