目录
1、介绍Timer控件
- 通常我们可以使用 for()、while()、do{}while() 函数做循环函数,
- 在C++ Builder中提供了TTimer组件,用于循环,定期检查需要的数据。
- Timer() 也是一个很好的间隔循环,允许执行循环元素时控制其他 UI 元素
- TTimer:Interval 属性,用于确定计时器的 OnTimer 事件发生的频率。
例如:创建一个TLabel,计算并将其打印到标签上。
为此,双击 TTimer 组件以创建 OnTimer() 事件并编写如下行:
通常,Interval属性设置为1000ms,即1秒。
- int count=0;
- void __fastcall TForm1::Timer1Timer(TObject *Sender)
- {
- count++;
- Label1->Text = IntToStr(count);
- }
Enabled 属性:启用或禁用计时器。
例如:按下按钮,启用定时器,再按下按钮,禁止定时器,代码如下:
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- if(Timer1->Enabled)
- Timer1->Enabled=false;
- else
- Timer1->Enabled=true;
- }
- void __fastcall TfrmTraffic::Timer1Timer(TObject *Sender)
- {
- /* 刚开始的灯是红灯 */
- if( Light == CurrentLight::Red )
- {
- /* 时间量改为:1500s */
- Timer1->Interval = 1500;
- /* 灯的颜色改为橘色 */
- imgLight->Picture->LoadFromFile(L"OrangeLight.bmp");
- /* 更新灯标志 */
- Light = CurrentLight::Orange;
- }
- /* 刚开始的灯是橘色 */
- else if( Light == CurrentLight::Orange )
- {
- Timer1->Interval = 7500;
- imgLight->Picture->LoadFromFile(L"GreenLight.bmp");
- Light = CurrentLight::Green;
- }
- /* 刚开始的灯是绿色 */
- else // if( Light == CurrentLight::Green )
- {
- Timer1->Interval = 5000;
- imgLight->Picture->LoadFromFile(L"RedLight.bmp");
- Light = CurrentLight::Red;
- }
- }