ucomponents.pas
上传用户:hbszzs
上传日期:2008-08-20
资源大小:628k
文件大小:9k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit ucomponents;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, ComCtrls, ExtCtrls, Buttons, VrClasses, VrGradient,
  6.   VrTypes, VrMatrix, VrBlotter, VrSpectrum, VrLcd, VrLeds, VrScanner,
  7.   VrCalendar, VrAnalog, VrRaster, VrLabel, VrControls, VrSysUtils,
  8.   VrHyperLink, VrBanner, VrDeskTop, VrArrow, VrLights, VrImageLed,
  9.   VrJoypad, VrProgressBar, VrSlider, VrDesign, VrThreads, VrButtons;
  10. type
  11.   TForm1 = class(TForm)
  12.     Panel2: TPanel;
  13.     ColorDialog: TColorDialog;
  14.     VrLabel1: TVrLabel;
  15.     PageControl: TPageControl;
  16.     TabSheet1: TTabSheet;
  17.     VrGradient1: TVrGradient;
  18.     Label1: TLabel;
  19.     VrHyperLink1: TVrHyperLink;
  20.     VrHyperLink2: TVrHyperLink;
  21.     VrHyperLink3: TVrHyperLink;
  22.     TabSheet2: TTabSheet;
  23.     Panel1: TPanel;
  24.     Label2: TLabel;
  25.     VrMatrix1: TVrMatrix;
  26.     VrHyperLink4: TVrHyperLink;
  27.     VrHyperLink5: TVrHyperLink;
  28.     VrHyperLink6: TVrHyperLink;
  29.     VrHyperLink7: TVrHyperLink;
  30.     Label10: TLabel;
  31.     Edit1: TEdit;
  32.     TabSheet3: TTabSheet;
  33.     Panel6: TPanel;
  34.     VrSpectrum1: TVrSpectrum;
  35.     TabSheet9: TTabSheet;
  36.     Panel8: TPanel;
  37.     VrBanner1: TVrBanner;
  38.     VrHyperLink8: TVrHyperLink;
  39.     Label11: TLabel;
  40.     TabSheet4: TTabSheet;
  41.     Panel3: TPanel;
  42.     VrNum1: TVrNum;
  43.     Label3: TLabel;
  44.     VrIndicator1: TVrIndicator;
  45.     TabSheet5: TTabSheet;
  46.     Panel4: TPanel;
  47.     VrCalendar1: TVrCalendar;
  48.     Label5: TLabel;
  49.     TabSheet6: TTabSheet;
  50.     Panel5: TPanel;
  51.     VrAnalogClock1: TVrAnalogClock;
  52.     Label6: TLabel;
  53.     Label7: TLabel;
  54.     VrClock2: TVrClock;
  55.     Label8: TLabel;
  56.     VrClock3: TVrClock;
  57.     Label9: TLabel;
  58.     VrNum2: TVrNum;
  59.     TabSheet7: TTabSheet;
  60.     Panel9: TPanel;
  61.     VrRaster1: TVrRaster;
  62.     BitBtn7: TBitBtn;
  63.     BitBtn8: TBitBtn;
  64.     BitBtn9: TBitBtn;
  65.     TabSheet8: TTabSheet;
  66.     Panel7: TPanel;
  67.     Memo1: TMemo;
  68.     VrDeskTop1: TVrDeskTop;
  69.     VrShadowButton1: TVrShadowButton;
  70.     Button1: TButton;
  71.     VrArrow1: TVrArrow;
  72.     VrArrow2: TVrArrow;
  73.     TabSheet10: TTabSheet;
  74.     Panel10: TPanel;
  75.     VrBlotter1: TVrBlotter;
  76.     VrLed2: TVrLed;
  77.     VrLed3: TVrLed;
  78.     VrLed4: TVrLed;
  79.     VrLed5: TVrLed;
  80.     VrLed6: TVrLed;
  81.     VrLed7: TVrLed;
  82.     VrBlotter2: TVrBlotter;
  83.     VrImageLed1: TVrImageLed;
  84.     VrImageLed2: TVrImageLed;
  85.     Label12: TLabel;
  86.     Label4: TLabel;
  87.     Label15: TLabel;
  88.     Label16: TLabel;
  89.     VrBlotter3: TVrBlotter;
  90.     VrLights3: TVrLights;
  91.     Label13: TLabel;
  92.     Label14: TLabel;
  93.     VrLights4: TVrLights;
  94.     VrLights1: TVrLights;
  95.     VrLights2: TVrLights;
  96.     Label17: TLabel;
  97.     VrBlotter4: TVrBlotter;
  98.     Label18: TLabel;
  99.     VrUserLed1: TVrUserLed;
  100.     VrUserLed2: TVrUserLed;
  101.     VrUserLed3: TVrUserLed;
  102.     VrUserLed4: TVrUserLed;
  103.     VrBlotter5: TVrBlotter;
  104.     VrArrow3: TVrArrow;
  105.     VrJoypad1: TVrJoypad;
  106.     VrArrow4: TVrArrow;
  107.     VrJoypad2: TVrJoypad;
  108.     VrProgressBar1: TVrProgressBar;
  109.     VrProgressBar2: TVrProgressBar;
  110.     VrProgressBar3: TVrProgressBar;
  111.     VrNum3: TVrNum;
  112.     VrClock1: TVrClock;
  113.     VrSlider1: TVrSlider;
  114.     VrSlider2: TVrSlider;
  115.     RasterTimer: TVrTimer;
  116.     SpectrumTimer: TVrTimer;
  117.     procedure FormCreate(Sender: TObject);
  118.     procedure BitBtn5Click(Sender: TObject);
  119.     procedure SpectrumTimerTimer(Sender: TObject);
  120.     procedure BitBtn6Click(Sender: TObject);
  121.     procedure VrCalendar1Click(Sender: TObject);
  122.     procedure VrClock3ClockTick(Sender: TObject; Seconds: Word);
  123.     procedure BitBtn7Click(Sender: TObject);
  124.     procedure BitBtn8Click(Sender: TObject);
  125.     procedure BitBtn9Click(Sender: TObject);
  126.     procedure RasterTimerTimer(Sender: TObject);
  127.     procedure Memo1Enter(Sender: TObject);
  128.     procedure VrHyperLink1Click(Sender: TObject);
  129.     procedure VrHyperLink2Click(Sender: TObject);
  130.     procedure VrHyperLink3Click(Sender: TObject);
  131.     procedure VrHyperLink7Click(Sender: TObject);
  132.     procedure VrHyperLink4Click(Sender: TObject);
  133.     procedure VrMatrix1ScrollDone(Sender: TObject);
  134.     procedure VrHyperLink8Click(Sender: TObject);
  135.     procedure PageControlChange(Sender: TObject);
  136.     procedure Button1Click(Sender: TObject);
  137.     procedure VrArrow2Click(Sender: TObject);
  138.     procedure VrSlider1Change(Sender: TObject);
  139.     procedure VrSlider2Change(Sender: TObject);
  140.     procedure VrClock3SecondsChanged(Sender: TObject; Seconds: Word);
  141.   private
  142.     { Private declarations }
  143.   public
  144.     { Public declarations }
  145.   end;
  146. var
  147.   Form1: TForm1;
  148. implementation
  149. {$R *.DFM}
  150. const
  151.   MatrixText = 'Varian Workshop...presents a new feature...'+
  152.     '%16multi-colored %15text support %14for %13more %12flexibility...';
  153.   StopRun: array[Boolean] of string = ('START', 'STOP');
  154. procedure TForm1.FormCreate(Sender: TObject);
  155. begin
  156.   PageControl.ActivePage := TabSheet1;
  157.   Caption := Format('%s, %s',
  158.     [Application.Title, '(c) 1996-2000 Varian Software nl']);
  159.   VrMatrix1.Text := MatrixText;
  160. end;
  161. procedure TForm1.BitBtn5Click(Sender: TObject);
  162. begin
  163.   VrSpectrum1.Reset(0);
  164.   SpectrumTimer.Enabled := not SpectrumTimer.Enabled;
  165.   VrShadowButton1.Caption := StopRun[SpectrumTimer.Enabled];
  166. end;
  167. procedure TForm1.SpectrumTimerTimer(Sender: TObject);
  168. var
  169.   I, Value: Integer;
  170. begin
  171.   with VrSpectrum1 do
  172.     for I := 0 to Pred(Count) do
  173.     begin
  174.       Value := Random(MaxValue + 1);
  175.       Items[I].Position := Value;
  176.     end;
  177. end;
  178. procedure TForm1.BitBtn6Click(Sender: TObject);
  179. begin
  180.   if coTrackMouse in VrCalendar1.Options then
  181.     VrCalendar1.Options := VrCalendar1.Options - [coTrackMouse]
  182.   else VrCalendar1.Options := VrCalendar1.Options + [coTrackMouse];
  183. end;
  184. procedure TForm1.VrCalendar1Click(Sender: TObject);
  185. begin
  186.   with VrCalendar1 do
  187.     if ItemIndex <> -1 then
  188.       Items[ItemIndex].Active := True;
  189. end;
  190. procedure TForm1.VrClock3ClockTick(Sender: TObject; Seconds: Word);
  191. begin
  192.   VrNum2.Value := VrClock3.Seconds;
  193. end;
  194. procedure TForm1.BitBtn7Click(Sender: TObject);
  195. begin
  196.   RasterTimer.Enabled := true;
  197. end;
  198. procedure TForm1.BitBtn8Click(Sender: TObject);
  199. var
  200.   I: Integer;
  201. begin
  202.   RasterTimer.Enabled := false;
  203.   with VrRaster1 do
  204.     for I := 0 to Pred(Count) do
  205.       Items[I].Active := false;
  206. end;
  207. procedure TForm1.BitBtn9Click(Sender: TObject);
  208. begin
  209.   VrRaster1.MultiSelect := not VrRaster1.MultiSelect;
  210. end;
  211. procedure TForm1.RasterTimerTimer(Sender: TObject);
  212. var
  213.   I: Integer;
  214. begin
  215.   with VrRaster1 do
  216.   begin
  217.     I := Random(Count);
  218.     if MultiSelect then
  219.       Items[I].Active := not Items[I].Active
  220.     else
  221.       Items[I].Active := true;
  222.   end;
  223. end;
  224. procedure TForm1.Memo1Enter(Sender: TObject);
  225. begin
  226.   TabSheet8.SetFocus;
  227. end;
  228. procedure TForm1.VrHyperLink1Click(Sender: TObject);
  229. begin
  230.   Colordialog.Color := VrGradient1.StartColor;
  231.   if Colordialog.Execute then
  232.      VrGradient1.StartColor := ColorDialog.Color;
  233. end;
  234. procedure TForm1.VrHyperLink2Click(Sender: TObject);
  235. begin
  236.   Colordialog.Color := VrGradient1.EndColor;
  237.   if Colordialog.Execute then
  238.     VrGradient1.EndColor := ColorDialog.Color;
  239. end;
  240. procedure TForm1.VrHyperLink3Click(Sender: TObject);
  241. begin
  242.  if VrGradient1.Direction = High(TVrGradDirection) then
  243.    VrGradient1.Direction := Low(TVrGradDirection)
  244.   else VrGradient1.Direction := TVrGradDirection(ord(VrGradient1.Direction)+1);
  245. end;
  246. procedure TForm1.VrHyperLink7Click(Sender: TObject);
  247. begin
  248.   VrMatrix1.LedStyle := TVrMatrixLedStyle(TControl(Sender).Tag);
  249. end;
  250. procedure TForm1.VrHyperLink4Click(Sender: TObject);
  251. begin
  252.   VrMatrix1.AutoScroll := not VrMatrix1.AutoScroll;
  253.   VrHyperLink4.Caption := StopRun[VrMatrix1.AutoScroll];
  254. end;
  255. procedure TForm1.VrMatrix1ScrollDone(Sender: TObject);
  256. begin
  257.   if Edit1.Text <> '' then
  258.     VrMatrix1.Text := Edit1.Text;
  259. end;
  260. procedure TForm1.VrHyperLink8Click(Sender: TObject);
  261. begin
  262.   VrBanner1.AutoScroll := not VrBanner1.AutoScroll;
  263.   VrHyperLink8.Caption := StopRun[VrBanner1.AutoScroll];
  264. end;
  265. procedure TForm1.PageControlChange(Sender: TObject);
  266. begin
  267.   if VrBanner1.AutoScroll then VrHyperLink8Click(nil);
  268.   if RasterTimer.Enabled then BitBtn8Click(BitBtn8);
  269.   if SpectrumTimer.Enabled then BitBtn5Click(nil);
  270.   if VrMatrix1.AutoScroll then VrHyperLink4Click(nil);
  271. end;
  272. procedure TForm1.Button1Click(Sender: TObject);
  273. begin
  274.   VrCalendar1.Reset;
  275. end;
  276. procedure TForm1.VrArrow2Click(Sender: TObject);
  277. begin
  278.   VrArrow1.Active := false;
  279.   VrArrow2.Active := false;
  280.   case TComponent(Sender).Tag of
  281.     0: begin
  282.          VrBanner1.Direction := bdRightToLeft;
  283.          VrArrow2.Active := True;
  284.        end;
  285.     1: begin
  286.          VrBanner1.Direction := bdLeftToRight;
  287.          VrArrow1.Active := True;
  288.        end;
  289.   end;
  290. end;
  291. procedure TForm1.VrSlider1Change(Sender: TObject);
  292. begin
  293.   VrNum1.Value := VrSlider1.Position;
  294.   VrProgressBar1.Position := VrSlider1.Position;
  295.   VrProgressBar2.Position := VrSlider1.Position;
  296.   VrProgressBar3.Position := VrSlider1.Position;
  297. end;
  298. procedure TForm1.VrSlider2Change(Sender: TObject);
  299. begin
  300.   VrNum3.Value := VrSlider2.Position;
  301.   VrIndicator1.Position := VrSlider2.Position;
  302. end;
  303. procedure TForm1.VrClock3SecondsChanged(Sender: TObject; Seconds: Word);
  304. begin
  305.   VrNum2.Value := Seconds;
  306. end;
  307. end.