Delphi自动滚动组合框

时间:2013-06-11 08:45:39

标签: delphi

我想知道是否有办法自动增加或滚动组合框。

例如,每隔30秒,我希望它连续选择组合框中的下一个选项,直到它到达最后一个值,然后它必须返回索引0并从那里继续。

原因是我的组合框中的每个值都包含一个调用数据库中数据显示的值,因为这些屏幕将是无人值守的,我希望在没有用户输入的情况下自动更改。

我添加了一个计时器和以下代码,并按照以下建议设置间隔(30000)

procedure TForm3.Timer1Timer(Sender: TObject);
begin
if ComboBox1.Index < comboBox1.Index.MaxValue then
ComboBox1.Index := +1
else
ComboBox1.Index := 0;
end;

提前致谢。

2 个答案:

答案 0 :(得分:7)

Interval属性设置为30000 ms的计时器,我将在其OnTimer tick事件中使用此代码。对于此代码,您必须在组合框中至少包含一个项目:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  ComboBox1.ItemIndex := (ComboBox1.ItemIndex + 1) mod ComboBox1.Items.Count;
end;

答案 1 :(得分:2)

增加Itemindex直到Itemindex = Count - 1,然后将Itemindex设置为0。

Procedure IncLoopCombobox(CB: TComboBox);
begin
  if CB.ItemIndex < CB.Items.Count - 1 then
    CB.ItemIndex := CB.ItemIndex + 1
  else
    CB.ItemIndex := 0;
end;