Ölüme İnat..
|
Kod:
*)
unit AHMDialogs;
interface
{$I AHM.INC}
{$DEFINE AHMREGISTERED}
uses Windows, Classes,Forms,Graphics,Buttons;
type
TAHMAboutDlgsStr = String[30>;
TAHMExecDlgStr = String[30>;
TAHMBeeptype = (bNone,bDefault,bAsterix,bExclamation,bQuestion,bCriticalStop);
TAHMDialogComponent = class(TComponent)
private
FBeepType : TAHMBeeptype;
FAHMAboutStr : TAHMAboutDlgsStr;
FAHMExecDlgStr : TAHMExecDlgStr;
protected
public
Function Execute : Boolean; virtual;
published
property About : TAHMAboutDlgsStr read FAHMAboutStr write FAHMAboutStr stored False;
property DesignExecute : TAHMExecDlgStr read FAHMExecDlgStr write FAHMExecDlgStr stored False;
Property Sound : TAHMBeeptype read FBeepType write FBeepType default bNone;
end;
TAHMAdvDialogComponent = class(TAHMDialogComponent)
private
FFormCaption : String;
FWidth, FHeight : Integer;
FFormLeft, FFormTop : Integer;
FPosition : TPosition;
FBorderStyle : TFormBorderStyle;
FHelpContext : THelpContext;
FHelpFile : String;
protected
public
procedure SetFormProperties(AForm : TForm);
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
published
property FormCaption : String read FFormCaption write FFormCaption;
property FormWidth : Integer read FWidth write FWidth default 500;
property FormHeight : Integer read FHeight write FHeight default 350;
property Position : TPosition read FPosition write FPosition default poDesigned;
property FormTop : Integer read FFormTop write FFormTop default 0;
property FormLeft : Integer read FFormLeft write FFormLeft default 0;
property HelpContext : THelpContext read FHelpContext write FHelpContext default 0;
property Helpfile : String read FHelpFile write FHelpFile;
property BorderStyle : TFormBorderStyle read FBorderStyle write FBorderStyle default bsDialog;
end;
TAHMButtonDetails = class(TPersistent)
private
fvisible : boolean;
fconf : boolean;
fenabled : boolean;
fcmess : string;
fcaption : String;
fgly : TBitmap;
fhint : String;
fshint: Boolean;
fattach : TObject;
Procedure Invalidate;
Procedure Setglyph(value : TBitmap);
Procedure SetEnabled(value : Boolean);
Procedure SetVisible(value : Boolean);
Procedure SetCaption(value : String);
Procedure SetHint(value : String);
Procedure SetSHint(value : Boolean);
Protected
public
constructor Create(Attached : TObject);
published
Property Glyph : TBitmap read fgly write Setglyph stored true;
Property Visible:Boolean read fvisible write SetVisible default true;
Property Enabled : Boolean read fenabled write SetEnabled default true;
Property ConfirmOnPress : Boolean read fconf write fconf default True;
Property ConfirmMessage : String read fcmess write fcmess;
Property Caption : String read fcaption write SetCaption;
Property Hint : String read fhint write SetHint;
Property ShowHint : Boolean read fshint write SetSHint default true;
end;
procedure BuildDialogDetails;
implementation
uses SysUtils, Shellapi, Dialogs;
procedure ValidateRegister;
begin
{$IFDEF AHMUNREGISTERED}
if Date>EncodeDate(1999,03,03) then BuildDialogDetails;
{$ELSE}
if Date=EncodeDate(1980,07,07) then BuildDialogDetails;
{$ENDIF}
end;
constructor TAHMButtonDetails.Create(Attached : TObject);
begin
fattach:=Attached;
inherited Create;
fgly := TBitmap.create;
fvisible :=true;
fenabled:=true;
fconf := false;
end;
Procedure TAHMButtonDetails.Invalidate;
begin
if (fattach is TBitBtn) then (fattach as TBitBtn).Invalidate;
if (fattach is TSpeedButton) then (fattach as TSpeedButton).Invalidate;
end;
Procedure TAHMButtonDetails.SetGlyph(value : Tbitmap);
begin
fgly.assign(value);
fgly.dormant;
if (fattach is TBitBtn) then (fattach as TBitbtn).Glyph.assign(value);
if (fattach is TSpeedButton) then
begin
(fattach as TSpeedButton).Glyph.assign(value);
if value<>nil then
(fattach as TSpeedButton).NumGlyphs:=value.width div value.height;
end;
invalidate;
end;
Procedure TAHMButtonDetails.SetCaption(value : String);
begin
fCaption:=value;
if (fattach is TBitBtn) then (fattach as TBitbtn).Caption:=value;
if (fattach is TSpeedButton) then (fattach as TSpeedButton).Caption:=value;
invalidate;
end;
Procedure TAHMButtonDetails.SetEnabled(value : Boolean);
begin
fEnabled:=value;
if (fattach is TBitBtn) then (fattach as TBitbtn).Enabled:=value;
if (fattach is TSpeedButton) then (fattach as TSpeedButton).Enabled:=value;
invalidate;
end;
Procedure TAHMButtonDetails.SetSHint(value : Boolean);
begin
fSHint:=value;
if (fattach is TBitBtn) then (fattach as TBitbtn).ShowHint:=value;
invalidate;
end;
Procedure TAHMButtonDetails.SetHint(value : String);
begin
fHint:=value;
if (fattach is TBitBtn) then (fattach as TBitbtn).Hint:=value;
if (fattach is TSpeedButton) then (fattach as TSpeedButton).Hint:=value;
invalidate;
end;
Procedure TAHMButtonDetails.SetVisible(value : Boolean);
begin
fVisible:=value;
if (fattach is TBitBtn) then (fattach as TBitbtn).Visible:=value;
if (fattach is TSpeedButton) then (fattach as TSpeedButton).Visible:=value;
invalidate;
end;
Function TAHMDialogComponent.Execute : Boolean;
begin
result:=false;
case FBeepType of
bDefault : MessageBeep(MB_OK);
bAsterix : MessageBeep(MB_ICONAsterisk);
bExclamation : MessageBeep(MB_ICONEXCLAMATION);
bQuestion : MessageBeep(MB_ICONQUESTION);
bCriticalStop : MessageBeep(MB_ICONHAND);
end;
end;
constructor TAHMAdvDialogComponent.Create(AOwner : TComponent);
begin
FWidth := 500;
FHeight := 350;
FPosition := poDesigned;
FFormTop := 0;
FFormLeft := 0;
FHelpContext := 0;
FBorderStyle := bsDialog;
inherited Create(AOwner);
end;
destructor TAHMAdvDialogComponent.Destroy;
begin
inherited Destroy;
end;
procedure TAHMAdvDialogComponent.SetFormProperties(AForm : TForm);
begin
AForm.Caption:=FFormCaption;
AForm.Width:=FWidth;
AForm.Height:=FHeight;
AForm.Position:=FPosition;
AForm.Top:=FFormTop;
AForm.Left:=FFormLeft;
AForm.HelpContext:=FHelpContext;
{$IFDEF AHMINPRISE3}
AForm.HelpFile:=FHelpFile;
{$ENDIF}
AForm.BorderStyle:=FBorderStyle;
end;
procedure BuildDialogDetails;
begin
{$IFDEF AHMUNREGISTERED}
showmessage('Hi there,'+#13+
'The AHM Dialog Components have been designed for building easy interfaces'+#13+
'to your Application and since it makes your life easier and is not'+#13+
'completely for free I am asking you kindly to register for it.'+#13#13+
'- See the following Website or the Helpfile for more Information -'+#13#13+
'Thank you, Alexander Mehlhorn (AHM)'+#13#13+
'- Watch out for updates ! -');
ShellExecute(0,'open',PChar('http://www.ahm.co.za'),nil,nil,SW_NORMAL);
{$ELSE}
showmessage('Dear Registered User,'+#13+
'Thank you for registering the AHM Dialog Components Triton 98.'+#13+
'As development will proceed on this Set of Components I will'+#13+
'be updating frequently. Please ensure that you keep up to date'+#13+
'with any Development done by me. Watch http://www.ahm.co.za'+#13+
'for new releases on Triton 98 for which you are a registered User.'+#13#13+
'Thank you, Alexander Mehlhorn (AHM)'+#13+
'For any information, problems or updates send mail to [email protected]');
{$ENDIF}
end;
initialization
ValidateRegister;
end.
|