home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / BRUSHDLG.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  2.8 KB  |  120 lines

  1. {****************************************}
  2. {    TeeChart. TBrushDialog              }
  3. { Copyright (c) 1996-98 by David Berneda }
  4. {****************************************}
  5. {$I teedefs.inc}
  6. unit BrushDlg;
  7.  
  8. interface
  9.  
  10. uses
  11.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  12.   Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;
  13.  
  14. type
  15.   TBrushDialog = class(TForm)
  16.     RGStyle: TRadioGroup;
  17.     Button2: TButton;
  18.     GroupBox1: TGroupBox;
  19.     BColor: TButton;
  20.     SHColor: TShape;
  21.     Button3: TButton;
  22.     procedure FormShow(Sender: TObject);
  23.     procedure RGStyleClick(Sender: TObject);
  24.     procedure BColorClick(Sender: TObject);
  25.     procedure SHColorMouseUp(Sender: TObject; Button: TMouseButton;
  26.       Shift: TShiftState; X, Y: Integer);
  27.     procedure Button3Click(Sender: TObject);
  28.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  29.   private
  30.     { Private declarations }
  31.     BackupBrush:TBrush;
  32.     procedure RedrawShape;
  33.   public
  34.     { Public declarations }
  35.     TheBrush:TBrush;
  36.   end;
  37.  
  38. Procedure EditChartBrush( AOwner:TComponent;
  39.                           ChartBrush:TBrush);
  40.  
  41. Function InternalEditFont(AOwner:TComponent; AFont:TFont):TFont;
  42.  
  43. implementation
  44.  
  45. {$R *.DFM}
  46. Uses PenDlg, TeeProcs;
  47.  
  48. Function InternalEditFont(AOwner:TComponent; AFont:TFont):TFont;
  49. Begin
  50.   With TFontDialog.Create(AOwner) do
  51.   try
  52.     Font.Assign(AFont);
  53.     if Execute then AFont.Assign(Font);
  54.   finally
  55.     Free;
  56.   end;
  57.   result:=AFont;
  58. end;
  59.  
  60. Procedure EditChartBrush( AOwner:TComponent;
  61.                           ChartBrush:TBrush);
  62. Begin
  63.   With TBrushDialog.Create(AOwner) do
  64.   try
  65.     TheBrush:=ChartBrush;
  66.     ShowModal;
  67.   finally
  68.     Free;
  69.   end;
  70. end;
  71.  
  72. procedure TBrushDialog.RedrawShape;
  73. begin
  74.   BColor.Enabled:=TheBrush.Style<>bsClear;
  75.   SHColor.Brush.Color:=TheBrush.Color;
  76.   SHColor.Visible:=BColor.Enabled;
  77. end;
  78.  
  79. procedure TBrushDialog.FormShow(Sender: TObject);
  80. begin
  81.   Screen.Cursor:=crDefault;
  82.   BackupBrush:=TBrush.Create;
  83.   BackupBrush.Assign(TheBrush);
  84.   RGStyle.ItemIndex:=Ord(TheBrush.Style);
  85.   SHColor.Cursor:=crTeeHand;
  86.   RedrawShape;
  87. end;
  88.  
  89. procedure TBrushDialog.RGStyleClick(Sender: TObject);
  90. begin
  91.   TheBrush.Style:=TBrushStyle(RGStyle.ItemIndex);
  92.   RedrawShape;
  93. end;
  94.  
  95. procedure TBrushDialog.BColorClick(Sender: TObject);
  96. begin
  97.   With TheBrush do Color:=EditColor(Self,Color);
  98.   RedrawShape;
  99. end;
  100.  
  101. procedure TBrushDialog.SHColorMouseUp(Sender: TObject; Button: TMouseButton;
  102.   Shift: TShiftState; X, Y: Integer);
  103. begin
  104.   BColorClick(Self);
  105. end;
  106.  
  107. procedure TBrushDialog.Button3Click(Sender: TObject);
  108. begin
  109.   TheBrush.Assign(BackupBrush);
  110.   ModalResult:=mrCancel;
  111. end;
  112.  
  113. procedure TBrushDialog.FormClose(Sender: TObject;
  114.   var Action: TCloseAction);
  115. begin
  116.   BackupBrush.Free;
  117. end;
  118.  
  119. end.
  120.