本例效果图:
![26153321_v2U6.gif](http://static.oschina.net/uploads/img/201409/26153321_v2U6.gif)
代码文件:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXClass, DXDraws, ComCtrls;type TForm1 = class(TForm) DXDraw1: TDXDraw; DXTimer1: TDXTimer; TrackBar1: TTrackBar; procedure FormCreate(Sender: TObject); procedure DXTimer1Timer(Sender: TObject; LagCount: Integer); procedure TrackBar1Change(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin DXDraw1.Align := alClient; TrackBar1.Align := alBottom; TrackBar1.Height := 23; TrackBar1.ShowSelRange := False; TrackBar1.Min := 0; TrackBar1.Max := 500; TrackBar1.Position := TrackBar1.Max div 2; DXTimer1.Interval := TrackBar1.Position; Randomize;end;procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);var x1,y1,x2,y2: Integer;begin {随机位置} x1 := Random(DXDraw1.Width); y1 := Random(DXDraw1.Height); x2 := Random(DXDraw1.Width); y2 := Random(DXDraw1.Height); DXDraw1.Surface.Fill(0); with DXDraw1.Surface.Canvas do begin Brush.Color := Random($FFFFFF); {随机颜色} Ellipse(x1, y1, x2, y2); Release; end; DXDraw1.Flip;end;procedure TForm1.TrackBar1Change(Sender: TObject);begin DXTimer1.Interval := TrackBar1.Position;end;end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 206 ClientWidth = 339 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object DXDraw1: TDXDraw Left = 24 Top = 24 Width = 100 Height = 100 AutoInitialize = True AutoSize = True Color = clBlack Display.FixedBitCount = False Display.FixedRatio = True Display.FixedSize = True Options = [doAllowReboot, doWaitVBlank, doCenter, do3D, doDirectX7Mode, doHardware, doSelectDriver] SurfaceHeight = 100 SurfaceWidth = 100 TabOrder = 0 Traces = <> end object TrackBar1: TTrackBar Left = 96 Top = 144 Width = 150 Height = 28 TabOrder = 1 OnChange = TrackBar1Change end object DXTimer1: TDXTimer ActiveOnly = True Enabled = True Interval = 1000 OnTimer = DXTimer1Timer Left = 144 Top = 24 endend