1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| interface
uses
Windows,Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Grids, DBCtrls, dbgrids, Mask, ComCtrls, DBCGrids, Checklst,buttons ;
type
TGLElastic = class(TComponent)
private
FForm : TForm;
FAdjustLabelWidths : boolean ;
FEnabled : boolean ;
FOldHeight : integer ;
FOldWidth : integer ;
FOldOnResize : TNotifyEvent ;
FOnResize : TNotifyEvent ;
FFixed : TStringList ;
procedure SetEnabled(b : boolean) ;
procedure SetFixed(s : TStringList) ;
protected
procedure FormResize(Sender : TObject) ;
public
constructor Create(AOwner : TComponent) ; override ;
destructor Destroy ; override ;
published
property AdjustLabelWidths : boolean read FAdjustLabelWidths write FAdjustLabelWidths default False ;
property Enabled : boolean read FEnabled write SetEnabled default True ;
property FixedComponents : TStringList read FFixed write SetFixed ;
property OnResize : TNotifyEvent read FOnResize write FOnResize ;
end;
procedure Register;
implementation
constructor TGLElastic.Create(AOwner : TComponent) ;
begin
inherited Create(AOwner) ;
FEnabled := True ;
FFixed := TStringList.Create ;
FForm := GetParentForm(TControl(AOwner)) as TForm;
if not (csDesigning in ComponentState) then begin
if FForm <> Nil then
begin
FOldHeight := FForm.Height;
FOldWidth := FForm.Width;
FOldOnResize := FForm.OnResize ;
FForm.OnResize := FormResize ;
end;
end ;
end ; |
Partager