📄 teeedit.pas
字号:
FOptions:=eoAll;
FDefaultTab:=cetMain;
FAutoRepaint:=True;
end;
procedure TChartEditor.ChangeSeriesOrder(Sender:TChartListBox;
Series1,Series2:TCustomChartSeries);
begin
if Assigned(FOnChangeOrder) then FOnChangeOrder(Sender,Series1,Series2);
end;
procedure TChartEditor.Execute;
Var TheForm : TChartEditForm;
OldAuto : Boolean;
begin
if Assigned(FChart) then
begin
TheForm:=TChartEditForm.Create(nil);
With TheForm do
try
Tree.Visible:=FTree;
RememberPosition:=Self.RememberPosition; // set before setting chart
Caption:=Self.Title;
EditorOptions:=Self.Options; // Before setting Chart !
Chart:=Self.Chart;
HighLightTabs:=Self.FHighLight;
TheEditSeries:=Self.Series;
CheckHelpFile;
TheActivePageIndex:=Ord(FDefaultTab);
TheHiddenTabs:=FHideTabs;
LBSeries.OnChangeOrder:=ChangeSeriesOrder; // 5.03
if Assigned(Self.FOnShow) then Self.FOnShow(TheForm);
OldAuto:=True;
if not Self.FAutoRepaint then
begin
OldAuto:=FChart.AutoRepaint;
FChart.AutoRepaint:=False;
end;
TeeTranslateControl(TheForm);
ShowModal;
if not Self.FAutoRepaint then
begin
FChart.AutoRepaint:=OldAuto;
FChart.Repaint;
end;
finally
if Assigned(Self.FOnClose) then Self.FOnClose(TheForm);
Free;
end;
FChart.CancelMouse:=True;
end;
end;
procedure TChartEditor.SetSeries(const Value: TChartSeries);
begin
if FSeries<>Value then
begin
{$IFDEF D5}
if Assigned(FSeries) then FSeries.RemoveFreeNotification(Self);
{$ENDIF}
FSeries:=Value;
if Assigned(Series) then
begin
FSeries.FreeNotification(Self);
if Assigned(Chart) and (Series.ParentChart<>Chart) then
Chart:=TCustomChart(Series.ParentChart);
end;
end;
end;
procedure TChartEditor.Notification( AComponent: TComponent;
Operation: TOperation);
begin
inherited;
if (Operation=opRemove) and Assigned(FSeries) and (AComponent=FSeries) then
Series:=nil;
end;
procedure TChartEditor.SetChart(const Value: TCustomChart);
begin
inherited;
if Assigned(Chart) and Assigned(Series) and (Series.ParentChart<>Chart) then
Series:=nil;
end;
{ TChartPreviewer }
Constructor TChartPreviewer.Create(AOwner:TComponent);
begin
inherited;
FOptions:=DefaultChartPreviewOptions;
FPaperColor:=clWhite;
FWindowState:=wsNormal;
end;
procedure TChartPreviewer.Execute;
var OldPrintTeePanel : Boolean;
begin
if Assigned(FChart) then
begin
TheForm:=TChartPreview.Create(nil);
with TheForm do
try
if Self.FTitle<>'' then Caption:=Self.FTitle;
TeePreviewPanel1.Panel:=Self.FChart;
TeePreviewPanel1.OnAfterDraw:=Self.OnAfterDraw;
WindowState:=Self.FWindowState;
if not (cpoChangePrinter in Self.FOptions) then CBPrinters.Enabled:=False;
if not (cpoSetupPrinter in Self.FOptions) then BSetupPrinter.Enabled:=False;
TeePreviewPanel1.AllowResize:=(cpoResizeChart in Self.FOptions);
TeePreviewPanel1.AllowMove:=(cpoMoveChart in Self.FOptions);
if not (cpoChangeDetail in Self.FOptions) then ChangeDetailGroup.Enabled:=False;
if not (cpoChangePaperOrientation in Self.FOptions) then Orientation.Enabled:=False;
if not (cpoChangeMargins in Self.FOptions) then
begin
GBMargins.Enabled:=False;
BReset.Enabled:=False;
end;
With TeePreviewPanel1.Panel do
if PrintProportional then
PrintProportional:=(cpoProportional in Self.FOptions);
TeePreviewPanel1.PaperColor:=Self.FPaperColor;
TeePreviewPanel1.DragImage:=(cpoDragChart in Self.FOptions);
OldPrintTeePanel:=PrintTeePanel;
PrintTeePanel:=(cpoPrintPanel in Self.FOptions);
TeePreviewPanel1.AsBitmap:=(cpoAsBitmap in Self.FOptions);
if Assigned(Self.FOnShow) then Self.FOnShow(TheForm);
ShowModal;
PrintTeePanel:=OldPrintTeePanel;
finally
if Assigned(Self.FOnClose) then Self.FOnClose(TheForm);
Free;
TheForm:=nil;
Self.FChart.Repaint;
end;
Self.FChart.CancelMouse:=True;
end;
end;
function TChartPreviewer.GetPreview: TTeePreviewPanel;
begin
if Assigned(TheForm) then
result:=TheForm.TeePreviewPanel1
else
result:=nil;
end;
{ TChartEditorPanel }
Constructor TChartEditorPanel.Create(AOwner:TComponent);
begin
inherited;
BevelOuter:=bvLowered;
Width :=409;
Height:=291;
if not (csDesigning in ComponentState) then
begin
FEditor:=TChartEditForm.Create(Self);
TeeTranslateControl(FEditor);
With FEditor do
begin
RememberPosition:=False;
RememberSize:=False;
BorderStyle:=TeeFormBorderStyle;
PanBottom.Visible:=False;
{$IFNDEF D5}
Show;
{$ENDIF}
Align:=alClient;
Parent:=Self;
{$IFDEF D5}
Show;
{$ENDIF}
end;
end;
end;
procedure TChartEditorPanel.Notification( AComponent: TComponent;
Operation: TOperation);
begin
inherited;
if (Operation=opRemove) and Assigned(FChart) and (AComponent=FChart) then
Chart:=nil;
end;
procedure TChartEditorPanel.SelectUnderMouse;
Var P : TChartClickedPart;
Procedure Select(ATab:TTabSheet);
begin
With Editor do
begin
MainPage.ActivePage:=TabChart;
SubPage.ActivePage:=ATab;
SubPageChange(Self);
end;
end;
Procedure SelectTitle(ATitle:TChartTitle);
begin
Select(Editor.TabTitle);
With Editor.TabTitle.Controls[0] as TFormTeeTitle do
begin
TheTitle:=ATitle;
FormShow(Self);
end;
end;
begin
if Assigned(Chart) then
begin
Chart.CalcClickedPart(Chart.GetCursorPos,P);
Case P.Part of
cpLegend: With Editor do
begin
MainPage.ActivePage:=TabChart;
SubPage.ActivePage:=TabLegend;
SubPageChange(Self);
end;
cpSeriesMarks,
cpSeries: With Editor do
begin
MainPage.ActivePage:=TabSeries;
MainPageChange(Self);
TheEditSeries:=P.ASeries;
TheFormSeries.TheSeries:=TheEditSeries;
LBSeries.FillSeries(TheEditSeries);
SetTabSeries;
if P.Part=cpSeriesMarks then
With TheFormSeries do
PageSeries.ActivePage:=TabMarks;
end;
cpAxis: With Editor do
begin
MainPage.ActivePage:=TabChart;
TheAxis:=P.AAxis;
SubPage.ActivePage:=TabAxis;
SubPageChange(Self);
With (TabAxis.Controls[0] as TFormTeeAxis) do
begin
TheAxis:=P.AAxis;
FormShow(Self);
end;
end;
cpTitle : SelectTitle(Chart.Title);
cpSubTitle : SelectTitle(Chart.SubTitle);
cpFoot : SelectTitle(Chart.Foot);
cpSubFoot : SelectTitle(Chart.SubFoot);
else
Select(Editor.TabPanel);
end;
end;
end;
{$IFNDEF CLX}
procedure TChartEditorPanel.CMShowingChanged(var Message: TMessage);
begin
inherited;
if Assigned(Parent) then
Parent.UpdateControlState;
end;
{$ENDIF}
Procedure TChartEditorPanel.SetChart(Value:TCustomChart);
begin
FChart:=Value;
if Assigned(FEditor) then FEditor.Chart:=FChart;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -