mirror of
https://bitbucket.org/Dennis07/lina-components.git
synced 2024-11-24 08:02:12 +02:00
8f16f703bf
Signed-off-by: Dennis07 <den.goehlert@t-online.de>
208 lines
5.4 KiB
ObjectPascal
208 lines
5.4 KiB
ObjectPascal
unit uMain;
|
|
|
|
//////////////////////////////////////
|
|
/// Lina Splash Screen Example ///
|
|
/// **************************** ///
|
|
/// (c) 2014 Dennis Göhlert a.o. ///
|
|
//////////////////////////////////////
|
|
|
|
{$IF CompilerVersion <> 26.0}
|
|
{$MESSAGE ERROR 'This example was written to compile under Delphi XE5'}
|
|
{$ENDIF}
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, uFrmCtrls, uBase, uSysTools,
|
|
Vcl.ExtCtrls, Vcl.Imaging.jpeg, Vcl.ExtDlgs;
|
|
|
|
type
|
|
TfmMain = class(TForm)
|
|
gbForm: TGroupBox;
|
|
gbImage: TGroupBox;
|
|
pnButtons: TPanel;
|
|
btShow: TButton;
|
|
laWidth: TLabel;
|
|
edWidth: TEdit;
|
|
edHeight: TEdit;
|
|
laHeight: TLabel;
|
|
edCaption: TEdit;
|
|
laCaption: TLabel;
|
|
laColor: TLabel;
|
|
edAlpha: TEdit;
|
|
coColor: TColorBox;
|
|
cbAlpha: TCheckBox;
|
|
imImage: TImage;
|
|
edImage: TEdit;
|
|
btImage: TButton;
|
|
laAnimation: TLabel;
|
|
coAnimation: TComboBox;
|
|
SplashScreen: TSplashScreen;
|
|
OpenPictureDialog: TOpenPictureDialog;
|
|
procedure btShowClick(Sender: TObject);
|
|
procedure SplashScreenTimer(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure edWidthChange(Sender: TObject);
|
|
procedure edHeightChange(Sender: TObject);
|
|
procedure edAlphaChange(Sender: TObject);
|
|
procedure edCaptionChange(Sender: TObject);
|
|
procedure cbAlphaClick(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure btImageClick(Sender: TObject);
|
|
procedure edImageExit(Sender: TObject);
|
|
procedure edImageChange(Sender: TObject);
|
|
private
|
|
{ Private-Deklarationen }
|
|
public
|
|
{ Public-Deklarationen }
|
|
end;
|
|
|
|
var
|
|
fmMain: TfmMain;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TfmMain.btImageClick(Sender: TObject);
|
|
begin
|
|
if OpenPictureDialog.Execute = True then
|
|
begin
|
|
if FileExists(OpenPictureDialog.FileName) = True then
|
|
begin
|
|
edImage.Text := OpenPictureDialog.FileName;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.btShowClick(Sender: TObject);
|
|
begin
|
|
SplashScreen.SplashForm.Width := StrToInt(edWidth.Text);
|
|
SplashScreen.SplashForm.Height := StrToInt(edHeight.Text);
|
|
SplashScreen.SplashForm.Caption := edCaption.Text;
|
|
SplashScreen.SplashForm.Color := coColor.Selected;
|
|
SplashScreen.SplashForm.AlphaBlend := cbAlpha.Checked;
|
|
SplashScreen.SplashForm.AlphaBlendValue := StrToInt(edAlpha.Text);
|
|
SplashScreen.SplashImage.Picture.Assign(imImage.Picture);
|
|
if coAnimation.ItemIndex = 0 then
|
|
begin
|
|
SplashScreen.Animation := ssaNone;
|
|
end else
|
|
begin
|
|
SplashScreen.Animation := ssaShallow;
|
|
end;
|
|
|
|
if SplashScreen.Visible = True then
|
|
begin
|
|
SplashScreen.Hide;
|
|
btShow.Caption := 'Show...';
|
|
end else
|
|
begin
|
|
SplashScreen.Show;
|
|
btShow.Caption := 'Hide';
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.cbAlphaClick(Sender: TObject);
|
|
begin
|
|
edAlpha.Enabled := cbAlpha.Checked;
|
|
end;
|
|
|
|
procedure TfmMain.edAlphaChange(Sender: TObject);
|
|
begin
|
|
if (StrIsInt(edAlpha.Text) = False) or (not (StrToInt(edAlpha.Text) in [0..255])) then
|
|
begin
|
|
MessageDlg('Unvalid value',mtError,[mbCancel],0);
|
|
edAlpha.Text := IntToStr(SplashScreen.SplashForm.AlphaBlendValue);
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.edCaptionChange(Sender: TObject);
|
|
begin
|
|
if Length(edCaption.Text) > 255 then
|
|
begin
|
|
MessageDlg('Unvalid value',mtError,[mbCancel],0);
|
|
edCaption.Text := SplashScreen.SplashForm.Caption;
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.edHeightChange(Sender: TObject);
|
|
begin
|
|
if StrIsInt(edHeight.Text) = False then
|
|
begin
|
|
MessageDlg('Unvalid value',mtError,[mbCancel],0);
|
|
edHeight.Text := IntToStr(SplashScreen.SplashForm.Height);
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.edImageChange(Sender: TObject);
|
|
begin
|
|
if edImage.Text = 'Background.jpg' then
|
|
begin
|
|
edImage.Font.Color := clGray;
|
|
end else
|
|
begin
|
|
edImage.Font.Color := clWindowText;
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.edImageExit(Sender: TObject);
|
|
begin
|
|
try
|
|
imImage.Picture.LoadFromFile(edImage.Text);
|
|
except
|
|
edImage.Text := 'Background.jpg';
|
|
imImage.Picture.LoadFromFile(edImage.Text);
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.edWidthChange(Sender: TObject);
|
|
begin
|
|
if StrIsInt(edWidth.Text) = False then
|
|
begin
|
|
MessageDlg('Unvalid value',mtError,[mbCancel],0);
|
|
edWidth.Text := IntToStr(SplashScreen.SplashForm.Width);
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.FormCreate(Sender: TObject);
|
|
begin
|
|
SplashScreen.SplashImage.Picture.LoadFromFile('Background.jpg');
|
|
edImage.Text := 'Background.jpg';
|
|
end;
|
|
|
|
procedure TfmMain.FormShow(Sender: TObject);
|
|
begin
|
|
edWidth.Text := IntToStr(SplashScreen.SplashForm.Width);
|
|
edHeight.Text := IntToStr(SplashScreen.SplashForm.Height);
|
|
edCaption.Text := SplashScreen.SplashForm.Caption;
|
|
coColor.Selected := SplashScreen.SplashForm.Color;
|
|
cbAlpha.Checked := SplashScreen.SplashForm.AlphaBlend;
|
|
edAlpha.Enabled := cbAlpha.Checked;
|
|
edAlpha.Text := IntToStr(SplashScreen.SplashForm.AlphaBlendValue);
|
|
imImage.Picture.Assign(SplashScreen.SplashImage.Picture);
|
|
if SplashScreen.Animation = ssaNone then
|
|
begin
|
|
coAnimation.ItemIndex := 0;
|
|
end else
|
|
begin
|
|
coAnimation.ItemIndex := 1;
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMain.SplashScreenTimer(Sender: TObject);
|
|
begin
|
|
if SplashScreen.SplashProgressBar.Position < SplashScreen.SplashProgressBar.Max then
|
|
begin
|
|
SplashScreen.SplashProgressBar.Position := SplashScreen.SplashProgressBar.Position + 10;
|
|
end else
|
|
begin
|
|
SplashScreen.SplashProgressBar.Position := 0;
|
|
SplashScreen.Hide;
|
|
end;
|
|
//SplashScreen.ApplyChanges;
|
|
end;
|
|
|
|
end.
|