114 lines
2.4 KiB
ObjectPascal
114 lines
2.4 KiB
ObjectPascal
unit uForm1 ;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
ExtCtrls ;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
bClose : TButton ;
|
|
bHide : TButton ;
|
|
Edit1 : TEdit ;
|
|
Edit2 : TEdit ;
|
|
Label1 : TLabel ;
|
|
Label2 : TLabel ;
|
|
Label3 : TLabel ;
|
|
Label4 : TLabel ;
|
|
Label5 : TLabel ;
|
|
Label6 : TLabel ;
|
|
Label7 : TLabel ;
|
|
lShowmeAgain : TLabel ;
|
|
tShowmeAgain : TTimer ;
|
|
procedure bCloseClick(Sender : TObject) ;
|
|
procedure bHideClick(Sender : TObject) ;
|
|
procedure Edit2Exit(Sender : TObject) ;
|
|
procedure FormClose(Sender : TObject ; var CloseAction : TCloseAction) ;
|
|
procedure FormCloseQuery(Sender : TObject ; var CanClose : boolean) ;
|
|
procedure FormDestroy(Sender : TObject) ;
|
|
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
procedure tShowmeAgainTimer(Sender : TObject) ;
|
|
private
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
end ;
|
|
|
|
var
|
|
Form1 : TForm1 ;
|
|
|
|
implementation
|
|
|
|
Uses uMainForm;
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.bCloseClick(Sender : TObject) ;
|
|
begin
|
|
// You can close Forms from Inside, TDINoteBook will detect and close the parent Page //
|
|
Close ;
|
|
end;
|
|
|
|
procedure TForm1.bHideClick(Sender : TObject) ;
|
|
begin
|
|
Hide;
|
|
tShowmeAgain.Enabled := True;
|
|
end;
|
|
|
|
procedure TForm1.Edit2Exit(Sender : TObject) ;
|
|
begin
|
|
if Edit2.Text = '' then
|
|
begin
|
|
Label1.Caption := 'Edit2 cannot be empty';
|
|
ShowMessage( 'Edit2 cannot be empty' );
|
|
Edit2.SetFocus;
|
|
end ;
|
|
end;
|
|
|
|
procedure TForm1.FormClose(Sender : TObject ; var CloseAction : TCloseAction) ;
|
|
begin
|
|
CloseAction := caFree;
|
|
fMainForm.mEvents.Lines.Add( 'Form1.Close' );
|
|
end;
|
|
|
|
procedure TForm1.FormCloseQuery(Sender : TObject ; var CanClose : boolean) ;
|
|
begin
|
|
if Edit2.Text = '' then
|
|
begin
|
|
CanClose := False;
|
|
ShowMessage( 'Remember... Edit2 cannot be empty' );
|
|
Edit2.Text := 'Ok, fixed';
|
|
end ;
|
|
|
|
fMainForm.mEvents.Lines.Add( 'Form1.CloseQuery: '+BoolToStr(CanClose,'True','False') );
|
|
end;
|
|
|
|
procedure TForm1.FormDestroy(Sender : TObject) ;
|
|
begin
|
|
fMainForm.mEvents.Lines.Add( 'Form1.Destroy' );
|
|
end;
|
|
|
|
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
|
|
);
|
|
begin
|
|
fMainForm.mEvents.Lines.Add( 'Form1.KeyDown' );
|
|
end;
|
|
|
|
procedure TForm1.tShowmeAgainTimer(Sender : TObject) ;
|
|
begin
|
|
tShowmeAgain.Enabled := False;
|
|
Show;
|
|
lShowmeAgain.Visible := True;
|
|
end;
|
|
|
|
end.
|
|
|