?? unitlinelost3.pas
字號:
unit UnitLineLost3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Series, TeEngine, TeeProcs, Chart, StdCtrls;
type
TFormLineLost3 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
ChartLine: TChart;
ChartBar: TChart;
Series1: TLineSeries;
Series2: TBarSeries;
CheckBo3D: TCheckBox;
CheckBoMarks: TCheckBox;
CheckBoLine: TCheckBox;
CheckBoBar: TCheckBox;
ScrollLine: TScrollBar;
ScrollBar: TScrollBar;
procedure FormResize(Sender: TObject);
procedure CheckBo3DClick(Sender: TObject);
procedure CheckBoMarksClick(Sender: TObject);
procedure CheckBoLineClick(Sender: TObject);
procedure CheckBoBarClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ScrollLineChange(Sender: TObject);
procedure ChartLineResize(Sender: TObject);
procedure ChartLineScroll(Sender: TObject);
procedure ChartLineUndoZoom(Sender: TObject);
procedure ChartLineZoom(Sender: TObject);
procedure ScrollBarChange(Sender: TObject);
procedure ChartBarResize(Sender: TObject);
procedure ChartBarScroll(Sender: TObject);
procedure ChartBarUndoZoom(Sender: TObject);
procedure ChartBarZoom(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ChangingBars : Boolean;
ChangingLines : Boolean;
Procedure CalcScrollBarPos;
Procedure CalcScrollLinePos;
end;
var
FormLineLost3: TFormLineLost3;
implementation
{$R *.dfm}
procedure TFormLineLost3.FormResize(Sender: TObject);
begin
FormLineLost3.Panel1.Height := (self.Height - self.Panel3.Height) div 2;
FormLineLost3.Panel2.Height := (self.Height - self.Panel3.Height) div 2;
FormLineLost3.Panel1.top := Self.Top;
FormLineLost3.Panel2.top := Self.Top + (self.Height - self.Panel3.Height) div 2;;
end;
procedure TFormLineLost3.CheckBo3DClick(Sender: TObject);
begin
ChartLine.View3D := not ChartLine.View3D;
ChartBar.View3D := not ChartBar.View3D;
end;
procedure TFormLineLost3.CheckBoMarksClick(Sender: TObject);
begin
ChartLine.Series[0].Marks.Visible := not ChartLine.Series[0].Marks.Visible;
ChartBar.Series[0].Marks.Visible := not ChartBar.Series[0].Marks.Visible;
end;
procedure TFormLineLost3.CheckBoLineClick(Sender: TObject);
begin
if ( CheckBoLine.Checked = true and CheckBoBar.Checked = True ) then
begin
FormLineLost3.Panel1.Height := (self.Height - self.Panel3.Height) div 2;
FormLineLost3.Panel2.Height := (self.Height - self.Panel3.Height) div 2;
FormLineLost3.Panel1.top := Self.Top;
FormLineLost3.Panel2.top := Self.Top + (self.Height - self.Panel3.Height) div 2;;
ChartBar.MarginBottom := 15;
ChartLine.MarginBottom := 15;
end;
if ( CheckBoLine.Checked = true and CheckBoBar.Checked = false ) then
begin
FormLineLost3.Panel1.Height := self.Height - self.Panel3.Height;
FormLineLost3.Panel2.Height := 0;
FormLineLost3.Panel1.top := Self.Top;
ChartLine.MarginBottom := 10;
ChartBar.MarginBottom := 10;
end;
if ( CheckBoLine.Checked = false and CheckBoBar.Checked = True ) then
begin
FormLineLost3.Panel1.Height := 0;
FormLineLost3.Panel2.Height := self.Height - self.Panel3.Height;
FormLineLost3.Panel2.top := Self.Top;
ChartBar.MarginBottom := 10;
ChartLine.MarginBottom := 10;
end
end;
procedure TFormLineLost3.CheckBoBarClick(Sender: TObject);
begin
if ( CheckBoLine.Checked = true and CheckBoBar.Checked = True ) then
begin
FormLineLost3.Panel1.Height := (self.Height - self.Panel3.Height) div 2;
FormLineLost3.Panel2.Height := (self.Height - self.Panel3.Height) div 2;
FormLineLost3.Panel1.top := Self.Top;
FormLineLost3.Panel2.top := Self.Top + (self.Height - self.Panel3.Height) div 2;;
ChartBar.MarginBottom := 15;
ChartLine.MarginBottom := 15;
end;
if ( CheckBoLine.Checked = true and CheckBoBar.Checked = false ) then
begin
FormLineLost3.Panel1.Height := self.Height - self.Panel3.Height;
FormLineLost3.Panel2.Height := 0;
FormLineLost3.Panel1.top := Self.Top;
ChartBar.MarginBottom := 10;
ChartLine.MarginBottom := 10;
end;
if ( CheckBoLine.Checked = false and CheckBoBar.Checked = True ) then
begin
FormLineLost3.Panel1.Height := 0;
FormLineLost3.Panel2.Height := self.Height - self.Panel3.Height;
FormLineLost3.Panel2.top := Self.Top;
ChartBar.MarginBottom := 10;
ChartLine.MarginBottom := 10;
end
end;
procedure TFormLineLost3.FormShow(Sender: TObject);
begin
CheckBo3D.Checked := False;
CheckBoMarks.Checked := False;
CheckBoLine.Checked := True;
CheckBoBar.Checked := True;
ChartLine.Series[0].Marks.Visible := False;
ChartBar.Series[0].Marks.Visible := False;
ChartLine.View3D := False;
ChartBar.View3D := False;
ChangingLines := false;
ChangingLines := false;
//ChartLine.ZoomPercent(50);
//ChartBar.ZoomPercent(50);
CalcScrollBarPos;
CalcScrollLinePos;
end;
procedure TFormLineLost3.ScrollLineChange(Sender: TObject);
var Difer:Double;
begin
if not ChangingLines then
With ChartLine.BottomAxis do
Begin
Difer:=Maximum-Minimum;
Maximum:=ChartLine.MaxXValue(ChartLine.BottomAxis)-ScrollLine.Position*Difer/100.0;
Minimum:=Maximum-Difer;
end;
end;
procedure TFormLineLost3.ScrollBarChange(Sender: TObject);
var Difer:Double;
begin
if not ChangingBars then
With ChartBar.BottomAxis do
Begin
Difer:=Maximum-Minimum;
Maximum:=ChartBar.MaxXValue(ChartBar.BottomAxis)-ScrollBar.Position*Difer/100.0;
Minimum:=Maximum-Difer;
end;
end;
Procedure TFormLineLost3.CalcScrollBarPos;
Var Difer:Double;
Begin
ChangingBars:=True;
With ChartBar do
Begin
if BottomAxis.Automatic then
ScrollBar.Enabled:=False
else
Begin
ScrollBar.Enabled :=True;
Difer:=MaxXValue(BottomAxis)-MinXValue(BottomAxis);
if Difer>0 then
ScrollBar.Position:=
Round(100.0*(BottomAxis.Minimum-MinXValue(BottomAxis))/Difer);
end;
end;
ChangingBars:=False;
End;
Procedure TFormLineLost3.CalcScrollLinePos;
Var Difer:Double;
Begin
ChangingLines:=True;
With ChartLine do
Begin
if BottomAxis.Automatic then
ScrollLine.Enabled:=False
else
Begin
ScrollLine.Enabled:=True;
Difer:=MaxXValue(BottomAxis)-MinXValue(BottomAxis);
if Difer>0 then
ScrollLine.Position:=
Round(100.0*(BottomAxis.Minimum-MinXValue(BottomAxis))/Difer);
end;
end;
ChangingLines:=False;
End;
procedure TFormLineLost3.ChartLineResize(Sender: TObject);
begin
ScrollLine.Left:=0;
ScrollLine.Top:=ChartLine.Height-ScrollLine.Height;
ScrollLine.Width:=ChartLine.Width;
end;
procedure TFormLineLost3.ChartLineScroll(Sender: TObject);
begin
CalcScrollLinePos;
end;
procedure TFormLineLost3.ChartLineUndoZoom(Sender: TObject);
begin
CalcScrollLinePos;
end;
procedure TFormLineLost3.ChartLineZoom(Sender: TObject);
begin
CalcScrollLinePos;
end;
procedure TFormLineLost3.ChartBarResize(Sender: TObject);
begin
CalcScrollBarPos;
end;
procedure TFormLineLost3.ChartBarScroll(Sender: TObject);
begin
CalcScrollBarPos;
end;
procedure TFormLineLost3.ChartBarUndoZoom(Sender: TObject);
begin
CalcScrollBarPos;
end;
procedure TFormLineLost3.ChartBarZoom(Sender: TObject);
begin
CalcScrollBarPos;
end;
procedure TFormLineLost3.FormCreate(Sender: TObject);
begin
ChangingLines := false;
ChangingLines := false;
//ChartLine.ZoomPercent(50);
//ChartBar.ZoomPercent(50);
CalcScrollBarPos;
CalcScrollLinePos;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -