目录
1、介绍Timer控件
1.1 TTime:Interval 属性
- 通常我们可以使用 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);
}
1.2 TTimer:Enable属性
Enabled 属性:启用或禁用计时器。
例如:按下按钮,启用定时器,再按下按钮,禁止定时器,代码如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Timer1->Enabled)
Timer1->Enabled=false;
else
Timer1->Enabled=true;
}
2、使用Timer控件
2.1 /* 给红绿灯定时 */
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;
}
}