Componentes.Terceros.FastRe.../internal/4.2/1/Source/frxEditFrame.pas
2007-11-18 19:40:07 +00:00

180 lines
4.9 KiB
ObjectPascal

{******************************************}
{ }
{ FastReport v4.0 }
{ Frame editor }
{ }
{ Copyright (c) 1998-2007 }
{ by Alexander Tzyganenko, }
{ Fast Reports Inc. }
{ }
{******************************************}
unit frxEditFrame;
interface
{$I frx.inc}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ImgList, ExtCtrls, StdCtrls, frxCtrls, frxDock, ComCtrls, ToolWin, frxClass;
type
TfrxFrameEditorForm = class(TForm)
FrameL: TLabel;
LineL: TLabel;
ShadowL: TLabel;
OkB: TButton;
CancelB: TButton;
ToolBar1: TToolBar;
FrameTopB: TToolButton;
FrameBottomB: TToolButton;
FrameLeftB: TToolButton;
FrameRightB: TToolButton;
Sep1: TToolButton;
FrameAllB: TToolButton;
FrameNoB: TToolButton;
ToolBar2: TToolBar;
FrameColorB: TToolButton;
FrameStyleB: TToolButton;
Sep2: TfrxTBPanel;
FrameWidthCB: TfrxComboBox;
ToolBar3: TToolBar;
ShadowB: TToolButton;
ShadowColorB: TToolButton;
Sep3: TfrxTBPanel;
ShadowWidthCB: TfrxComboBox;
Bevel1: TBevel;
procedure FormCreate(Sender: TObject);
procedure BClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
FFrame: TfrxFrame;
FImageList: TImageList;
procedure UpdateControls;
public
property Frame: TfrxFrame read FFrame;
end;
implementation
{$R *.DFM}
uses frxDesgnCtrls, frxUtils, frxRes;
procedure TfrxFrameEditorForm.FormCreate(Sender: TObject);
begin
FFrame := TfrxFrame.Create;
Caption := frxGet(5200);
FrameL.Caption := frxGet(5201);
LineL.Caption := frxGet(5202);
ShadowL.Caption := frxGet(5203);
FrameTopB.Hint := frxGet(5204);
FrameBottomB.Hint := frxGet(5205);
FrameLeftB.Hint := frxGet(5206);
FrameRightB.Hint := frxGet(5207);
FrameAllB.Hint := frxGet(5208);
FrameNoB.Hint := frxGet(5209);
FrameColorB.Hint := frxGet(5210);
FrameStyleB.Hint := frxGet(5211);
FrameWidthCB.Hint := frxGet(5212);
ShadowB.Hint := frxGet(5213);
ShadowColorB.Hint := frxGet(5214);
ShadowWidthCB.Hint := frxGet(5215);
OkB.Caption := frxGet(1);
CancelB.Caption := frxGet(2);
FImageList := frxResources.MainButtonImages;
ToolBar1.Images := FImageList;
ToolBar2.Images := FImageList;
ToolBar3.Images := FImageList;
if UseRightToLeftAlignment then
FlipChildren(True);
end;
procedure TfrxFrameEditorForm.FormDestroy(Sender: TObject);
begin
FFrame.Free;
end;
procedure TfrxFrameEditorForm.FormShow(Sender: TObject);
begin
UpdateControls;
end;
procedure TfrxFrameEditorForm.UpdateControls;
begin
FrameTopB.Down := ftTop in FFrame.Typ;
FrameBottomB.Down := ftBottom in FFrame.Typ;
FrameLeftB.Down := ftLeft in FFrame.Typ;
FrameRightB.Down := ftRight in FFrame.Typ;
ShadowB.Down := FFrame.DropShadow;
FrameWidthCB.Text := FloatToStr(FFrame.Width);
ShadowWidthCB.Text := FloatToStr(FFrame.ShadowWidth);
end;
procedure TfrxFrameEditorForm.BClick(Sender: TObject);
procedure SetFrameType(fType: TfrxFrameType; Include: Boolean);
begin
with FFrame do
if Include then
Typ := Typ + [fType] else
Typ := Typ - [fType];
end;
begin
case TControl(Sender).Tag of
1: SetFrameType(ftTop, FrameTopB.Down);
2: SetFrameType(ftBottom, FrameBottomB.Down);
3: SetFrameType(ftLeft, FrameLeftB.Down);
4: SetFrameType(ftRight, FrameRightB.Down);
5: FFrame.Typ := [ftLeft, ftRight, ftTop, ftBottom];
6: FFrame.Typ := [];
7:
with TfrxColorSelector.Create(TComponent(Sender)) do
begin
OnColorChanged := BClick;
Tag := 70;
end;
70: FFrame.Color := TfrxColorSelector(Sender).Color;
8:
with TfrxLineSelector.Create(TComponent(Sender)) do
begin
OnStyleChanged := BClick;
Tag := 80;
end;
80: FFrame.Style := TfrxFrameStyle(TfrxLineSelector(Sender).Style);
9: FFrame.Width := frxStrToFloat(FrameWidthCB.Text);
10: FFrame.DropShadow := ShadowB.Down;
11:
with TfrxColorSelector.Create(TComponent(Sender)) do
begin
OnColorChanged := BClick;
Tag := 110;
end;
110: FFrame.ShadowColor := TfrxColorSelector(Sender).Color;
12: FFrame.ShadowWidth := frxStrToFloat(ShadowWidthCB.Text);
end;
UpdateControls;
end;
procedure TfrxFrameEditorForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F1 then
frxResources.Help(Self);
end;
end.
//862fd5d6aa1a637203d9b08a3c0bcfb0