Componentes.Terceros.jvcl/official/3.32/examples/RxLib/CTRLS.PAS

593 lines
16 KiB
Plaintext

{******************************************************************
JEDI-VCL Demo
Copyright (C) 2002 Project JEDI
Original author:
Contributor(s):
You may retrieve the latest version of this file at the JEDI-JVCL
home page, located at http://jvcl.sourceforge.net
The contents of this file are used with permission, subject to
the Mozilla Public License Version 1.1 (the "License"); you may
not use this file except in compliance with the License. You may
obtain a copy of the License at
http://www.mozilla.org/MPL/MPL-1_1Final.html
Software distributed under the License is distributed on an
"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
******************************************************************}
unit Ctrls;
interface
uses
SysUtils, Windows, Forms, Messages, Classes, Graphics, Controls,
JvClock, Dialogs, JvComponent, JvFormPlacement, JvDice, JvExStdCtrls,
JvTextListBox, JvAnimatedImage, FileCtrl, StdCtrls, JvExExtCtrls,
JvSplit, ExtCtrls, JvExMask, JvMaskEdit, JvSpin, Spin, JvExControls,
JvLabel, JvEdit, JvValidateEdit, JvToolEdit, JvBaseEdits, Mask, JvSwitch,
JvxSlider, JvColorCombo, JvCombobox, ComCtrls, TabNotBk;
type
TControlsForm = class(TForm)
TabbedNotebook1: TTabbedNotebook;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
FontComboBox1: TJvFontComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
CheckBox1: TCheckBox;
ComboBox1: TComboBox;
rxSlider1: TJvxSlider ;
Label4: TLabel;
Label5: TLabel;
ComboBox2: TComboBox;
Label6: TLabel;
Label7: TLabel;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Label8: TLabel;
ComboBox3: TComboBox;
Label9: TLabel;
rxSwitch1: TJvSwitch ;
Label10: TLabel;
ComboBox4: TComboBox;
Label11: TLabel;
ComboBox5: TComboBox;
CheckBox5: TCheckBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
GroupBox7: TGroupBox;
GroupBox8: TGroupBox;
GroupBox9: TGroupBox;
GroupBox10: TGroupBox;
ComboEdit1: TJvComboEdit;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
DateEdit1: TJvDateEdit;
FilenameEdit1: TJvFilenameEdit;
DirectoryEdit1: TJvDirectoryEdit;
CurrencyEdit1: TJvValidateEdit;
Label22: TLabel;
Edit1: TEdit;
rxLabel1: TJvLabel ;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
ComboBox6: TComboBox;
SpinEdit2: TSpinEdit;
Button1: TButton;
FontDialog1: TFontDialog;
GroupBox11: TGroupBox;
Label26: TLabel;
Panel1: TPanel;
Panel2: TPanel;
Memo1: TMemo;
rxSplitter1: TJvxSplitter ;
DriveComboBox1: TDriveComboBox;
DirectoryListBox1: TDirectoryListBox;
rxSplitter2: TJvxSplitter ;
FileListBox1: TFileListBox;
Label27: TLabel;
Label28: TLabel;
GroupBox12: TGroupBox;
GroupBox13: TGroupBox;
GroupBox14: TGroupBox;
GroupBox15: TGroupBox;
TextListBox1: TJvTextListBox ;
JvDice: TJvDice;
Label30: TLabel;
RunnerImage: TImage;
Label31: TLabel;
ComboBox7: TComboBox;
Button2: TButton;
Label32: TLabel;
SpinEdit3: TSpinEdit;
Label33: TLabel;
SpinEdit4: TSpinEdit;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
ComboBox8: TComboBox;
Button3: TButton;
Label37: TLabel;
CheckBox6: TCheckBox;
SpinEdit5: TSpinEdit;
SpinEdit6: TSpinEdit;
SpinEdit7: TSpinEdit;
Label38: TLabel;
Button4: TButton;
Label39: TLabel;
SpinEdit8: TSpinEdit;
Label40: TLabel;
SpinEdit9: TSpinEdit;
Button5: TButton;
FlagImage: TImage;
SearchImage: TImage;
BookImage: TImage;
SwOff: TImage;
SwOn: TImage;
Shape1: TShape;
GroupBox16: TGroupBox;
rxSpinEdit1: TJvSpinEdit;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
ComboBox9: TComboBox;
SpinEdit1: TSpinEdit;
FormStorage1: TJvFormStorage ;
ADHThumb: TImage;
ADHRuler: TImage;
ADVThumb: TImage;
ADVRuler: TImage;
CheckBox4: TCheckBox;
Button6: TButton;
OpenDialog: TOpenDialog;
RxCalcEdit1: TJvCalcEdit ;
CheckBox7: TCheckBox;
ColorComboBox1: TJvColorComboBox;
ColorComboBox2: TJvColorComboBox;
AnimatedImage1: TJvAnimatedImage;
Panel3: TPanel;
JvClock1: TJvClock;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ColorComboBox1Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure rxSlider1Change(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure ComboBox5Change(Sender: TObject);
procedure rxSwitchOn(Sender: TObject);
procedure rxSwitch1Off(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure FontComboBox1Change(Sender: TObject);
procedure ComboEdit1ButtonClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure ColorComboBox2Change(Sender: TObject);
procedure ComboBox6Change(Sender: TObject);
procedure SpinEdit2Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FileListBox1Change(Sender: TObject);
procedure ComboBox7Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SpinEdit3Change(Sender: TObject);
procedure SpinEdit4Change(Sender: TObject);
procedure AnimatedImage1StartStop(Sender: TObject);
procedure ComboBox8Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure SpinEdit5Change(Sender: TObject);
procedure SpinEdit6Change(Sender: TObject);
procedure SpinEdit7Change(Sender: TObject);
procedure JvClock1Alarm(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure SpinEdit8Change(Sender: TObject);
procedure SpinEdit9Change(Sender: TObject);
procedure JvDiceChange(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ComboBox9Change(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.DFM}
uses
JvAni, JvJVCLUtils, JvJCLUtils, JvPickDate, Main;
procedure TControlsForm.FormCreate(Sender: TObject);
begin
{$IFDEF WIN32}
if NewStyleControls then DirectoryEdit1.DialogKind := dkWin32;
{$ENDIF}
end;
procedure TControlsForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TControlsForm.FormShow(Sender: TObject);
begin
FontComboBox1.FontName := 'Ms Sans Serif';
ComboBox1.ItemIndex := 0;
ComboBox2.ItemIndex := 0;
ComboBox3.ItemIndex := 0;
ComboBox4.ItemIndex := 0;
ComboBox5.ItemIndex := 0;
ComboBox6.ItemIndex := 0;
ComboBox7.ItemIndex := 0;
ComboBox7Change(ComboBox7);
ComboBox8.ItemIndex := 1;
ComboBox9.ItemIndex := 0;
end;
procedure TControlsForm.ColorComboBox1Change(Sender: TObject);
begin
Shape1.Brush.Color := ColorComboBox1.ColorValue;
end;
procedure TControlsForm.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
FontComboBox1.Options := FontComboBox1.Options + [foTrueTypeOnly]
else
FontComboBox1.Options := FontComboBox1.Options - [foTrueTypeOnly]
end;
procedure TControlsForm.ComboBox1Change(Sender: TObject);
begin
FontComboBox1.Device := TFontDialogDevice(ComboBox1.ItemIndex);
if FontComboBox1.ItemIndex < 0 then
FontComboBox1.ItemIndex := 0;
end;
procedure TControlsForm.ComboBox2Change(Sender: TObject);
begin
with rxSlider1 do
Orientation := TSliderOrientation(ComboBox2.ItemIndex);
end;
procedure TControlsForm.rxSlider1Change(Sender: TObject);
begin
Label6.Caption := Format('Value: %d', [rxSlider1.Value]);
end;
procedure TControlsForm.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked then
rxSlider1.Options := rxSlider1.Options + [soSmooth]
else
rxSlider1.Options := rxSlider1.Options - [soSmooth];
end;
procedure TControlsForm.CheckBox3Click(Sender: TObject);
begin
if CheckBox3.Checked then
rxSlider1.Options := rxSlider1.Options + [soShowPoints]
else
rxSlider1.Options := rxSlider1.Options - [soShowPoints];
end;
procedure TControlsForm.ComboBox3Change(Sender: TObject);
begin
with rxSlider1 do
case ComboBox3.ItemIndex of
0:
begin
NumThumbStates := 2;
ImageHRuler := nil;
ImageHThumb := nil;
ImageVRuler := nil;
ImageVThumb := nil;
end;
1:
begin
NumThumbStates := 1;
ImageHRuler := ADHRuler.Picture.Bitmap;
ImageHThumb := ADHThumb.Picture.Bitmap;
ImageVRuler := ADVRuler.Picture.Bitmap;
ImageVThumb := ADVThumb.Picture.Bitmap;
end;
end;
end;
procedure TControlsForm.ComboBox4Change(Sender: TObject);
begin
rxSwitch1.TextPosition := TTextPos(ComboBox4.ItemIndex);
end;
procedure TControlsForm.ComboBox5Change(Sender: TObject);
begin
with rxSwitch1 do
case ComboBox5.ItemIndex of
0:
begin
GlyphOn := nil;
GlyphOff := nil;
end;
1:
begin
GlyphOn := SwOn.Picture.Bitmap;
GlyphOff := SwOff.Picture.Bitmap;
end;
end;
end;
procedure TControlsForm.rxSwitchOn(Sender: TObject);
begin
rxSwitch1.Caption := 'On';
end;
procedure TControlsForm.rxSwitch1Off(Sender: TObject);
begin
rxSwitch1.Caption := 'Off';
end;
procedure TControlsForm.CheckBox5Click(Sender: TObject);
begin
if CheckBox5.Checked then
rxSwitch1.BorderStyle := bsSingle
else
rxSwitch1.BorderStyle := bsNone;
end;
procedure TControlsForm.FontComboBox1Change(Sender: TObject);
begin
Label2.Font.Name := FontComboBox1.FontName;
end;
procedure TControlsForm.ComboEdit1ButtonClick(Sender: TObject);
var
ADate: TDateTime;
begin
ADate := StrToDateDef(ComboEdit1.Text, Now);
if PopupDate(ADate, ComboEdit1) then
ComboEdit1.Text := DateToStr(ADate);
if ComboEdit1.CanFocus then ComboEdit1.SetFocus;
end;
procedure TControlsForm.Edit1Change(Sender: TObject);
begin
// CurrencyEdit1.DisplayFormat := Edit1.Text;
end;
procedure TControlsForm.CheckBox7Click(Sender: TObject);
begin
// CurrencyEdit1.FormatOnEditing := CheckBox7.Checked;
end;
procedure TControlsForm.ColorComboBox2Change(Sender: TObject);
begin
rxLabel1.ShadowColor := ColorComboBox2.ColorValue;
end;
procedure TControlsForm.ComboBox6Change(Sender: TObject);
begin
rxLabel1.ShadowPos := TShadowPosition(ComboBox6.ItemIndex);
end;
procedure TControlsForm.SpinEdit2Change(Sender: TObject);
begin
rxLabel1.ShadowSize := SpinEdit2.Value;
end;
procedure TControlsForm.Button1Click(Sender: TObject);
begin
FontDialog1.Font := rxLabel1.Font;
if FontDialog1.Execute then
rxLabel1.Font := FontDialog1.Font;
end;
procedure TControlsForm.FileListBox1Change(Sender: TObject);
begin
try
Memo1.Lines.LoadFromFile(FileListBox1.FileName);
except
Memo1.Clear;
end;
end;
procedure TControlsForm.ComboBox7Change(Sender: TObject);
begin
case ComboBox7.ItemIndex of
0:
begin
AnimatedImage1.Glyph := RunnerImage.Picture.Bitmap;
AnimatedImage1.GlyphNum := 12;
end;
1:
begin
AnimatedImage1.Glyph := FlagImage.Picture.Bitmap;
AnimatedImage1.GlyphNum := 4;
end;
2:
begin
AnimatedImage1.Glyph := SearchImage.Picture.Bitmap;
AnimatedImage1.GlyphNum := 12;
end;
3:
begin
AnimatedImage1.Glyph := BookImage.Picture.Bitmap;
AnimatedImage1.GlyphNum := 5;
end;
end;
end;
procedure TControlsForm.Button2Click(Sender: TObject);
begin
AnimatedImage1.Active := not AnimatedImage1.Active;
end;
procedure TControlsForm.SpinEdit3Change(Sender: TObject);
begin
AnimatedImage1.Interval := SpinEdit3.Value;
end;
procedure TControlsForm.SpinEdit4Change(Sender: TObject);
begin
AnimatedImage1.GlyphNum := SpinEdit4.Value;
end;
procedure TControlsForm.AnimatedImage1StartStop(Sender: TObject);
begin
SpinEdit4.Value := AnimatedImage1.GlyphNum;
SpinEdit3.Value := AnimatedImage1.Interval;
if AnimatedImage1.Active then
Button2.Caption := 'Stop'
else
Button2.Caption := 'Start';
end;
procedure TControlsForm.ComboBox8Change(Sender: TObject);
begin
JvClock1.ShowMode := TShowClock(ComboBox8.ItemIndex);
end;
procedure TControlsForm.Button3Click(Sender: TObject);
begin
FontDialog1.Font := JvClock1.Font;
if FontDialog1.Execute then
JvClock1.Font := FontDialog1.Font;
end;
procedure TControlsForm.CheckBox6Click(Sender: TObject);
begin
JvClock1.AlarmEnabled := CheckBox6.Checked;
end;
procedure TControlsForm.SpinEdit5Change(Sender: TObject);
begin
JvClock1.AlarmHour := SpinEdit5.Value;
end;
procedure TControlsForm.SpinEdit6Change(Sender: TObject);
begin
JvClock1.AlarmMinute := SpinEdit6.Value;
end;
procedure TControlsForm.SpinEdit7Change(Sender: TObject);
begin
JvClock1.AlarmSecond := SpinEdit7.Value;
end;
procedure TControlsForm.JvClock1Alarm(Sender: TObject);
begin
MessageDlg('Alarm!', mtInformation, [mbOk], 0);
end;
procedure TControlsForm.Button4Click(Sender: TObject);
begin
JvDice.Rotate := not JvDice.Rotate;
if JvDice.Rotate then
Button4.Caption := 'Stop'
else
Button4.Caption := 'Start';
end;
procedure TControlsForm.SpinEdit8Change(Sender: TObject);
begin
JvDice.Interval := SpinEdit8.Value;
end;
procedure TControlsForm.SpinEdit9Change(Sender: TObject);
begin
JvDice.Value := SpinEdit9.Value;
end;
procedure TControlsForm.JvDiceChange(Sender: TObject);
begin
SpinEdit9.Value := JvDice.Value;
end;
procedure TControlsForm.Button5Click(Sender: TObject);
begin
with TextListBox1.Items do begin
if Count = 3 then begin
Insert(2, 'Very Long Item Very Long Item Very Long Item');
Button5.Caption := 'Back';
end
else begin
Delete(2);
Button5.Caption := 'Show';
end;
end;
end;
procedure TControlsForm.ComboBox9Change(Sender: TObject);
begin
rxSpinEdit1.ValueType := TValueType(ComboBox9.ItemIndex);
end;
procedure TControlsForm.SpinEdit1Change(Sender: TObject);
begin
rxSpinEdit1.Increment := SpinEdit1.Value;
end;
procedure TControlsForm.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked then
ColorComboBox1.Options := ColorComboBox1.Options + [coText]
else
ColorComboBox1.Options := ColorComboBox1.Options - [coText];
end;
procedure TControlsForm.Button6Click(Sender: TObject);
var
Image: TJvAni;
begin
if OpenDialog.Execute then begin
OpenDialog.InitialDir := ExtractFilePath(OpenDialog.FileName);
Image := TJvAni.Create;
try
AnimatedImage1.Active := False;
Image.LoadFromFile(OpenDialog.FileName);
Image.AssignToBitmap(AnimatedImage1.Glyph, clFuchsia, True,
AnimatedImage1.Orientation = goVertical);
ComboBox7.ItemIndex := -1;
AnimatedImage1.Interval := Image.Header.dwJIFRate div 4;
SpinEdit3.Value := AnimatedImage1.Interval;
AnimatedImage1.TransparentColor := clFuchsia;
AnimatedImage1.Active := True;
finally
Image.Free;
end;
end;
end;
initialization
RegisterClasses([TBevel]);
end.