📄 designgrid.pas
字号:
if TBFontTop.Down then a := AAlign + srTop
else if TBFontVCa.Down then a := AAlign + srVCenter
else if TBFontBo.Down then a := AAlign + srBottom;
end;
NewAlignMode := FGrid.CellAlignMode;
case a of
5 : NewAlignMode := taTopLeft;
9 : NewAlignMode := taLeft;
13 : NewAlignMode := taBottomLeft;
6 : NewAlignMode := taTop;
10 : NewAlignMode := taCenter;
14 : NewAlignMode := taBottom;
7 : NewAlignMode := taTopRight;
11 : NewAlignMode := taRight;
15 : NewAlignMode := taBottomRight;
end;
CellRange := TRect(FGrid.Selection);
FGrid.SetRangeProperty(CellRange, pnAlignMode, Pointer(NewAlignMode));
end;
procedure TDesignGridForm.SetBandN(AType: Byte; ABoolean: Boolean);
begin
end;
procedure TDesignGridForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
AssignGrid(CurGrid);
//CurGrid := Grid;
{ try
FGrid.Align:=CurAlign;
FGrid.RunMode:=rmLinkDataSet;
finally
end;}
end;
procedure TDesignGridForm.FormCreate(Sender: TObject);
begin
EdCellVal.Align := alClient;
//NewGrid;
CBFontName.Items.Assign(Screen.Fonts);
FGrid.RunMode := rmDesignMode;
end;
procedure TDesignGridForm.FormShow(Sender: TObject);
begin
{try
CurAlign := FGrid.Align;
FGrid.Align := alClient;
FGrid.RunMode := rmDesignMode;
finally
end;}
end;
procedure TDesignGridForm.FANewExecute(Sender: TObject);
var Rect: TRect;
i: Integer;
begin
//NewGrid;
//GetBandStype;
end;
procedure TDesignGridForm.FAOpenExecute(Sender: TObject);
begin
{FAOpen.Enabled := Grid <> nil;
if OpenDialog1.Execute then
begin
SRFile := OpenDialog1.FileName;
EasyGrid.LoadFromFile(SRFile);
GetBandStype;
NewFile := False;
Caption := srFormCaption + '-' + SRFile;
end;}
end;
procedure TDesignGridForm.FASaveExecute(Sender: TObject);
begin
with SaveDialog1 do
if Execute then
begin
FGrid.SaveToFile(FileName);
end;
{if (NewFile) or (SRFile = '') then
begin
if SaveDialog1.Execute then
begin
SRFile := SaveDialog1.FileName;
EasyGrid.SaveToFile(SRFile);
Caption := srFormCaption + '-' + SRFile;
end;
NewFile := False;
end else EasyGrid.SaveToFile(SRFile);}
end;
procedure TDesignGridForm.FASaveAsExecute(Sender: TObject);
begin
{if SaveDialog1.Execute then
begin
SRFile := SaveDialog1.FileName;
EasyGrid.SaveToFile(SRFile);
end;
Caption := srFormCaption + '-' + SRFile;}
end;
procedure TDesignGridForm.TBFontLeftClick(Sender: TObject);
begin
SetAlignMode(TToolButton(Sender).Tag);
SetControlState(FGrid.Col, FGrid.Row);
end;
procedure TDesignGridForm.CBFontNameChange(Sender: TObject);
begin
CellRange := TRect(FGrid.Selection);
with CBFontName do
if (ItemIndex >= 0) then
FGrid.SetRangeProperty(CellRange, pnFontName, Pointer(Items[ItemIndex]));
end;
procedure TDesignGridForm.CBFontSizeChange(Sender: TObject);
begin
CellRange := TRect(FGrid.Selection);
if CBFontSize.Text <> '' then
FGrid.SetRangeProperty(CellRange, pnFontSize, Pointer(StrToInt(CBFontSize.Text)));
end;
procedure TDesignGridForm.TBFontBClick(Sender: TObject);
var i, j: Integer;
bDown: Boolean;
begin
//TBFontB.Down := not TBFontB.Down;
bDown := TBFontB.Tag > 0;
TBFontB.Tag := - TBFontB.Tag;
CellRange := TRect(FGrid.Selection);
for i:=CellRange.Left to CellRange.Right do
for j:=CellRange.Top to CellRange.Bottom do
if bDown then
FGrid.Cells[i ,j].FontStyle := FGrid.Cells[i ,j].FontStyle + [fsBold]
else
FGrid.Cells[i ,j].FontStyle := FGrid.Cells[i ,j].FontStyle - [fsBold];
SetControlState(FGrid.Col, FGrid.Row);
//FRGrid.SetRangeProperty(CellRange, pnFontStyle, @[fsBold]);
end;
procedure TDesignGridForm.TBFontIClick(Sender: TObject);
var i, j: Integer;
bDown: Boolean;
begin
//TBFontB.Down := not TBFontB.Down;
bDown := TBFontI.Tag > 0;
TBFontI.Tag := - TBFontI.Tag;
// TBFontI.Down := not TBFontI.Down;
CellRange := TRect(FGrid.Selection);
for i:=CellRange.Left to CellRange.Right do
for j:=CellRange.Top to CellRange.Bottom do
if bDown then
FGrid.Cells[i ,j].FontStyle := FGrid.Cells[i ,j].FontStyle + [fsItalic]
else
FGrid.Cells[i ,j].FontStyle := FGrid.Cells[i ,j].FontStyle - [fsItalic];
// EasyGrid.SetRangeProperty(CellRange, pnFontStyle, @[fsItalic]);
SetControlState(FGrid.Col, FGrid.Row);
end;
procedure TDesignGridForm.TBFontUClick(Sender: TObject);
var i, j: Integer;
bDown: Boolean;
begin
//TBFontB.Down := not TBFontB.Down;
bDown := TBFontU.Tag > 0;
TBFontU.Tag := - TBFontU.Tag;
//TBFontU.Down := not TBFontU.Down;
CellRange := TRect(FGrid.Selection);
for i:=CellRange.Left to CellRange.Right do
for j:=CellRange.Top to CellRange.Bottom do
if bDown then
FGrid.Cells[i ,j].FontStyle := FGrid.Cells[i ,j].FontStyle + [fsUnderLine]
else
FGrid.Cells[i ,j].FontStyle := FGrid.Cells[i ,j].FontStyle - [fsUnderLine];
SetControlState(FGrid.Col, FGrid.Row);
end;
procedure TDesignGridForm.FAPageSetupExecute(Sender: TObject);
begin
FGrid.PageSetup;
end;
procedure TDesignGridForm.FAPreViewExecute(Sender: TObject);
begin
FGrid.Preview;
end;
procedure TDesignGridForm.FAPrintExecute(Sender: TObject);
begin
FGrid.Print;
end;
procedure TDesignGridForm.FACloseExecute(Sender: TObject);
begin
Close;
end;
procedure TDesignGridForm.FACopyExecute(Sender: TObject);
begin
FGrid.copyCells(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.FACutExecute(Sender: TObject);
begin
FGrid.CutCells(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.FAPasteExecute(Sender: TObject);
var
Current: TPoint;
begin
Current.X := FGrid.Col;
Current.Y := FGrid.Row;
FGrid.PasteCells(Current);
end;
procedure TDesignGridForm.FACellNullExecute(Sender: TObject);
begin
FGrid.ClearCells(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.FAmargeExecute(Sender: TObject);
begin
CellRange := TRect(FGrid.Selection);
FGrid.SetMerges(CellRange, True);
end;
procedure TDesignGridForm.FAMargeDelExecute(Sender: TObject);
begin
CellRange := TRect(FGrid.Selection);
FGrid.DeleteMerges(CellRange);
end;
procedure TDesignGridForm.FACellProExecute(Sender: TObject);
begin
FGrid.SetCellProp(-1);
end;
procedure TDesignGridForm.TBCellLineLeftClick(Sender: TObject);
var i: Integer;
begin
//TToolButton(Sender).Tag := -TToolButton(Sender).Tag;
CellRange := TRect(FGrid.Selection);
FGrid.SetRangeProperty(CellRange, pnDrawLeft, Pointer(TBCellLineLeft.Down));
FGrid.SetRangeProperty(CellRange, pnDrawTop, Pointer(TBCellLineTop.Down));
FGrid.SetRangeProperty(CellRange, pnDrawRight, Pointer(TBCellLineRight.Down));
FGrid.SetRangeProperty(CellRange, pnDrawBottom, Pointer(TBCellLineBo.Down));
SetControlState(FGrid.Col, FGrid.Row);
end;
procedure TDesignGridForm.CBCellLineWidthChange(Sender: TObject);
begin
CellRange := TRect(FGrid.Selection);
if CBCellLineWidth.Text <> '' then
FGrid.SetRangeProperty(CellRange, pnLineWidth, Pointer(StrToInt(CBCellLineWidth.Text)));
end;
procedure TDesignGridForm.FAInColExecute(Sender: TObject);
begin
FGrid.InsertCol(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.FADelRowExecute(Sender: TObject);
begin
FGrid.DeleteRow(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.FADelColExecute(Sender: TObject);
begin
FGrid.DeleteCol(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.FAInRowExecute(Sender: TObject);
begin
FGrid.InsertRow(TRect(FGrid.Selection));
end;
procedure TDesignGridForm.TBFontColorChange(Sender: TObject);
var
C: TColor;
begin
//C := TBFontColor.Colors.Color;
//EasyGrid.SetRangeProperty(TRect(EasyGrid.Selection), pnFontColor, Pointer(C));
end;
procedure TDesignGridForm.FAInDataExecute(Sender: TObject);
begin
//TGridReport(GridReport).GetDataField;
end;
procedure TDesignGridForm.FAInsertBmpExecute(Sender: TObject);
begin
//if OpenPictureDialog1.Execute then
//begin
// EasyGrid.InsertBmp(EasyGrid.Cells[EasyGrid.Col, EasyGrid.Row], OpenPictureDialog1.FileName);
//end;
end;
procedure TDesignGridForm.TBDeleteBmpClick(Sender: TObject);
begin
//EasyGrid.DeleteSRObject(EasyGrid.Cells[EasyGrid.Col, EasyGrid.Row]);
end;
procedure TDesignGridForm.FAInsertRftTextExecute(Sender: TObject);
begin
//SRRtfEdit(EasyGrid);
// SRRtfEdit(EasyGrid.GetRtfText(EasyGrid.Cells[EasyGrid.Col, AGrid.Row]));
end;
procedure TDesignGridForm.TBCellColorClick(Sender: TObject);
begin
//EasyGrid.SetRangeProperty(TRect(EasyGrid.Selection), pnColor, Pointer(TBCellColor.Colors.Color));
end;
procedure TDesignGridForm.N3Click(Sender: TObject);
begin
//SRHeadFootEdit(TSRGrid(EasyGrid));
end;
procedure TDesignGridForm.TBLUpDown1Click(Sender: TObject);
begin
//CellRange := TRect(EasyGrid.Selection);
//if TBLUpDown1.Down then
// EasyGrid.SetRangeProperty(CellRange, pnBiasLine, Pointer(blLUpDown1))
//else
// EasyGrid.SetRangeProperty(CellRange, pnBiasLine, Pointer(blNone));
//TBLUpDown1.Down := not TBLUpDown1.Down;
//SetControlState(EasyGrid.Col, EasyGrid.Row);
end;
procedure TDesignGridForm.TBRUpDown1Click(Sender: TObject);
begin
//CellRange := TRect(EasyGrid.Selection);
// if TBRUpDown1.Down then
// EasyGrid.SetRangeProperty(CellRange, pnBiasLine, Pointer(blRUpDown1))
// else
// EasyGrid.SetRangeProperty(CellRange, pnBiasLine, Pointer(blNone));
// TBRUpDown1.Down := not TBRUpDown1.Down;
// SetControlState(EasyGrid.Col, EasyGrid.Row);
end;
procedure TDesignGridForm.TBCellLineCasingClick(Sender: TObject);
//var NewRimLine: TRimLine;
begin
//TToolButton(Sender).Tag := -TToolButton(Sender).Tag;
{CellRange := TRect(EasyGrid.Selection);
NewRimLine := [rlLeft, rlTop, rlRight, rlBottom];
EasyGrid.SetRangeProperty(CellRange, pnRimLine, @NewRimLine);
SetControlState(EasyGrid.Col, EasyGrid.Row);}
end;
procedure TDesignGridForm.TBCellLineNullClick(Sender: TObject);
//var NewRimLine: TRimLine;
begin
{ CellRange := TRect(EasyGrid.Selection);
NewRimLine := [];
EasyGrid.SetRangeProperty(CellRange, pnRimLine, @NewRimLine);
SetControlState(EasyGrid.Col, EasyGrid.Row); }
end;
procedure TDesignGridForm.NGridStyleClick(Sender: TObject);
//var
// GS: TSRGridStyleForm;
begin
// GS := TSRGridStyleForm.Create(Application);
// try
// GS.Grid := EasyGrid;
// GS.SetGridStyle;
// finally
// Free;
// SRDataFieldForm := nil;
// end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -