凌悟空  
人生就像一场回忆,生活和工作,生活:把它记下来,以便自己回忆和品位;工作:分享给大家,以便学习和交流...

          

试了一下,关于好几个广告界面,左右滚动的效果:用TabControl 加上定时器实现即可。

 

1、TTabControl外观

 

TTabControl的外观由属性TabPosition控制,可选项包括:

tpTop         选项tab在控件上方

tpBottom   选项tab在控件下方

tpNone      以原点形式显示选项tab,在控件下方,如下图:

image

tpDots        以方格形式显示选项tab,在控件下方,如下图:

image

 以下是源代码:

//每五秒滚动一次 

Procedure TForm1.FormActivate(Sender: TObject);

Begin

    Timer1.Interval := 5000;

End;

 

//自动滚动; 

Procedure TForm1.Timer1Timer(Sender: TObject);

Begin

    If TabControl1.ActiveTab <> TabControl1.Tabs[TabControl1.TabCount-1] Then

          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex+1]

      Else

          TabControl1.ActiveTab := TabControl1.Tabs[0];

End;

 

//手势编程,也可以不需要; 

Procedure TForm1.TabControl1Gesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean);

Begin

  Case EventInfo.GestureID Of        //识别事件的手势

    sgiLeft:                         //由右向左滑动手指

    Begin

//如果不是最后一个tab,则选择下一个tab;如果是,则选择第一个。

      If TabControl1.ActiveTab <> TabControl1.Tabs[TabControl1.TabCount-1] Then

          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex+1]

      Else

          TabControl1.ActiveTab := TabControl1.Tabs[0];

      Handled := True;              //已完成代码处理

    End;

 

    sgiRight: //由左向右滑动手指

    Begin

 

 //如果不是第一个tab,则选取前一个tab;如果是,则选择最后一个。

      If TabControl1.ActiveTab <> TabControl1.Tabs[0] Then

          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex-1]

      Else

          TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabCount-1];

      Handled := True; //已代码处理

    End;

  End;

End;


 

posted on 2014-02-22 15:53  凌悟空  阅读(765)  评论(0编辑  收藏  举报