📄 expform.pas
字号:
unit ExpForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Graph, ComCtrls, ColorGrd, StdCtrls, Buttons, ExtCtrls, ExptIntf,
DdhGraph;
type
TFormCeExp = class(TForm)
Notebook1: TNotebook;
BtnCancel: TBitBtn;
BtnNext1: TBitBtn;
BtnNext2: TBitBtn;
BtnNext3: TBitBtn;
BtnNextPt: TBitBtn;
BtnApply: TBitBtn;
DdhGraph1: TDdhGraph;
Label1: TLabel;
Label2: TLabel;
EditDefText: TEdit;
ButtonFont: TButton;
Label3: TLabel;
ColorGrid1: TColorGrid;
Label4: TLabel;
EditNPts: TEdit;
UpDownNPts: TUpDown;
LabelPt: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
EditText: TEdit;
EditX: TEdit;
EditY: TEdit;
UpDownX: TUpDown;
UpDownY: TUpDown;
FontDialog1: TFontDialog;
CheckBoxRemove: TCheckBox;
BtnPrev5: TBitBtn;
BtnPrevPt: TBitBtn;
BtnPrev2: TBitBtn;
BtnPrev3: TBitBtn;
procedure ButtonFontClick(Sender: TObject);
procedure BtnNext1Click(Sender: TObject);
procedure BtnPrevClick(Sender: TObject);
procedure BtnNext2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BtnNext3Click(Sender: TObject);
procedure BtnNextPtClick(Sender: TObject);
procedure BtnPrevPtClick(Sender: TObject);
procedure BtnPrev5Click(Sender: TObject);
private
nTotPts, nCurPt: Integer;
public
procedure GetCurrentPt;
procedure SetCurrentPt;
end;
var
FormCeExp: TFormCeExp;
implementation
{$R *.DFM}
procedure TFormCeExp.ButtonFontClick(Sender: TObject);
begin
if FontDialog1.Execute then
DdhGraph1.Font := FontDialog1.Font;
end;
procedure TFormCeExp.BtnNext1Click(Sender: TObject);
begin
with Notebook1 do
PageIndex := PageIndex + 1;
DdhGraph1.DefaultText := EditDefText.Text;
end;
procedure TFormCeExp.BtnPrevClick(Sender: TObject);
begin
with Notebook1 do
PageIndex := PageIndex - 1;
end;
procedure TFormCeExp.BtnNext2Click(Sender: TObject);
begin
with Notebook1 do
PageIndex := PageIndex + 1;
DdhGraph1.Color := ColorGrid1.BackGroundColor;
DdhGraph1.LinesColor := ColorGrid1.ForeGroundColor;
end;
procedure TFormCeExp.FormCreate(Sender: TObject);
begin
// go to first page
Notebook1.PageIndex := 0;
end;
procedure TFormCeExp.BtnNext3Click(Sender: TObject);
var
I: Integer;
begin
// eventually remove existing points
if CheckBoxRemove.Checked then
DdhGraph1.Points.Clear;
// add the new points
for I := 1 to UpDownNPts.Position do
DdhGraph1.Points.Add;
// reset controls
UpDownNPts.Position := 0;
CheckBoxRemove.Checked := False;
// set the total points and the current one
nTotPts := DdhGraph1.Points.Count;
nCurPt := 0;
// get the data of the first point
GetCurrentPt;
// bug fix....
UpDownX.Position := DdhGraph1.Points[0].X;
UpDownY.Position := DdhGraph1.Points[0].Y;
EditX.Text := IntToStr (UpDownX.Position);
EditY.Text := IntToStr (UpDownY.Position);
// move to next page
with Notebook1 do
PageIndex := PageIndex + 1;
end;
procedure TFormCeExp.GetCurrentPt;
begin
// point number
LabelPt.Caption := Format (
'Editing Point %d of %d',
[nCurPt + 1, nTotPts]);
// point data
EditText.Text := DdhGraph1.Points[nCurPt].Text;
if EditText.Text = '' then
EditText.Text := DdhGraph1.DefaultText +
IntToStr (nCurPt + 1);
UpDownX.Position := DdhGraph1.Points[nCurPt].X;
UpDownY.Position := DdhGraph1.Points[nCurPt].Y;
end;
procedure TFormCeExp.SetCurrentPt;
begin
// update the data...
DdhGraph1.Points[nCurPt].Text := EditText.Text;
DdhGraph1.Points[nCurPt].X := UpDownX.Position;
DdhGraph1.Points[nCurPt].Y := UpDownY.Position;
end;
procedure TFormCeExp.BtnNextPtClick(Sender: TObject);
begin
SetCurrentPt;
// go to the next point...
Inc (nCurPt);
if nCurPt < nTotPts then
GetCurrentPt
else
// ... or the next page
with Notebook1 do
PageIndex := PageIndex + 1;
end;
procedure TFormCeExp.BtnPrevPtClick(Sender: TObject);
begin
SetCurrentPt;
// go to the previous point...
Dec (nCurPt);
if nCurPt >= 0 then
GetCurrentPt
else
// ... or the previous page
with Notebook1 do
PageIndex := PageIndex - 1;
end;
procedure TFormCeExp.BtnPrev5Click(Sender: TObject);
begin
// update the points, which might
// have changed in the DdhGraph
nTotPts := DdhGraph1.Points.Count;
nCurPt := nTotPts - 1;
GetCurrentPt;
with Notebook1 do
PageIndex := PageIndex - 1;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -