rm_dsggridreport.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 2,209 行 · 第 1/5 页
PAS
2,209 行
for i := liRect.Top to liRect.Bottom do
begin
FDesignerForm.FGrid.MergeCell(liRect.Left, i, liRect.Right, i);
end;
end;
procedure TRMToolbarGrid.OnBtnSetRowsAndColumnsClick(Sender: TObject);
var
liRect: TRect;
begin
FDesignerForm.AddUndoAction(acChangeCellCount);
liRect := FDesignerForm.FGrid.Selection;
FDesignerForm.FGrid.RowCount := liRect.Bottom + 1;
FDesignerForm.FGrid.ColCount := liRect.Right + 1;
FDesignerForm.Modified := True;
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMToolbarCellEdit }
constructor TRMToolbarCellEdit.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
inherited Create(AOwner);
BeginUpdate;
Dockedto := DockTo;
FDesignerForm := TRMGridReportDesignerForm(AOwner);
DockRow := 4;
DockPos := 0;
Name := 'GridReport_ToolbarCellEdit';
CloseButton := True;
FLblCell := TRMToolbarButton.Create(Self);
with FLblCell do
begin
Width := 110;
AddTo := Self;
end;
FToolbarSep1 := TRMToolbarSep.Create(Self);
with FToolbarSep1 do
begin
AddTo := Self;
end;
FBtnDBField := TRMToolbarButton.Create(Self);
with FBtnDBField do
begin
ImageIndex := 28;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.btnDBFieldClick;
AddTo := Self;
end;
FBtnExpression := TRMToolbarButton.Create(Self);
with FBtnExpression do
begin
ImageIndex := 21;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.btnExpressionClick;
AddTo := Self;
end;
FEdtMemo := TEdit.Create(Self);
with FEdtMemo do
begin
Parent := Self;
OnKeyUp := CellEditKeyUp;
Width := 400;
// AddTo := Self;
end;
EndUpdate;
Localize;
end;
procedure TRMToolbarCellEdit.Localize;
begin
RMSetStrProp(FBtnExpression, 'Hint', rmRes + 701);
RMSetStrProp(FBtnDBField, 'Hint', rmRes + 62);
RMSetStrProp(Self, 'Caption', rmRes + 866);
end;
procedure TRMToolbarCellEdit.CellEditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
with FDesignerForm do
begin
BeforeChange;
FGrid.Cells[FGrid.Col, FGrid.Row].View.Memo.Text := Self.FEdtMemo.Text;
AfterChange;
THackGridEx(FGrid).InvalidateCell(FGrid.Col, FGrid.Row);
end;
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMToolbarBorder }
constructor TRMToolbarBorder.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
inherited Create(AOwner);
BeginUpdate;
Dockedto := DockTo;
FDesignerForm := TRMGridReportDesignerForm(AOwner);
DockRow := 2;
DockPos := 0;
Name := 'GridReport_ToolbarBorder';
btnFrameLeft := TRMToolbarButton.Create(Self);
with btnFrameLeft do
begin
AllowAllUp := True;
GroupIndex := 2;
ImageIndex := 4;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_SetFrameLeft;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnFrameRight := TRMToolbarButton.Create(Self);
with btnFrameRight do
begin
AllowAllUp := True;
GroupIndex := 4;
ImageIndex := 5;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_SetFrameRight;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnFrameTop := TRMToolbarButton.Create(Self);
with btnFrameTop do
begin
AllowAllUp := True;
GroupIndex := 1;
ImageIndex := 6;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_SetFrameTop;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnFrameBottom := TRMToolbarButton.Create(Self);
with btnFrameBottom do
begin
AllowAllUp := True;
GroupIndex := 3;
ImageIndex := 7;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_SetFrameBottom;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
ToolbarSep971 := TRMToolbarSep.Create(Self);
with ToolbarSep971 do
begin
AddTo := Self;
end;
btnNoBorder := TRMToolbarButton.Create(Self);
with btnNoBorder do
begin
ImageIndex := 0;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_NoFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnSetBorder := TRMToolbarButton.Create(Self);
with btnSetBorder do
begin
ImageIndex := 1;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_SetFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnTopBorder := TRMToolbarButton.Create(Self);
with btnTopBorder do
begin
ImageIndex := 3;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_Frame1;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnBottomBorder := TRMToolbarButton.Create(Self);
with btnBottomBorder do
begin
ImageIndex := 2;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_Frame2;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
ToolbarSep972 := TRMToolbarSep.Create(Self);
with ToolbarSep972 do
begin
AddTo := Self;
end;
btnBias1Border := TRMToolbarButton.Create(Self);
with btnBias1Border do
begin
AllowAllUp := True;
GroupIndex := 40;
ImageIndex := 8;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_Frame3;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnBias2Border := TRMToolbarButton.Create(Self);
with btnBias2Border do
begin
AllowAllUp := True;
GroupIndex := 41;
ImageIndex := 9;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_Frame4;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
ToolbarSep973 := TRMToolbarSep.Create(Self);
with ToolbarSep973 do
begin
AddTo := Self;
end;
btnDecWidth := TRMToolbarButton.Create(Self);
with btnDecWidth do
begin
ImageIndex := 14;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_DecWidth;
OnClick := FDesignerForm.DoClick;
{$IFNDEF USE_TB2k}
Repeating := True;
{$ENDIF}
AddTo := Self;
end;
btnIncWidth := TRMToolbarButton.Create(Self);
with btnIncWidth do
begin
ImageIndex := 12;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_IncWidth;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
{$IFNDEF USE_TB2k}
Repeating := True;
{$ENDIF}
end;
btnDecHeight := TRMToolbarButton.Create(Self);
with btnDecHeight do
begin
ImageIndex := 11;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_DecHeight;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
{$IFNDEF USE_TB2k}
Repeating := True;
{$ENDIF}
end;
btnIncHeight := TRMToolbarButton.Create(Self);
with btnIncHeight do
begin
ImageIndex := 13;
Images := FDesignerForm.ImageListFrame;
Tag := TAG_IncHeight;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
{$IFNDEF USE_TB2k}
Repeating := True;
{$ENDIF}
end;
ToolbarSep974 := TRMToolbarSep.Create(Self);
with ToolbarSep974 do
begin
AddTo := Self;
end;
btnColumnMin := TRMToolbarButton.Create(Self);
with btnColumnMin do
begin
ImageIndex := 0;
Images := FDesignerForm.ImageListSize;
OnClick := FDesignerForm.btnColumnMinClick;
AddTo := Self;
end;
btnColumnMax := TRMToolbarButton.Create(Self);
with btnColumnMax do
begin
ImageIndex := 1;
Images := FDesignerForm.ImageListSize;
OnClick := FDesignerForm.btnColumnMaxClick;
AddTo := Self;
end;
btnRowMin := TRMToolbarButton.Create(Self);
with btnRowMin do
begin
ImageIndex := 2;
Images := FDesignerForm.ImageListSize;
OnClick := FDesignerForm.btnRowMinClick;
AddTo := Self;
end;
btnRowMax := TRMToolbarButton.Create(Self);
with btnRowMax do
begin
ImageIndex := 3;
Images := FDesignerForm.ImageListSize;
OnClick := FDesignerForm.btnRowMaxClick;
AddTo := Self;
end;
ToolbarSep975 := TRMToolbarSep.Create(Self);
with ToolbarSep975 do
begin
AddTo := Self;
end;
cmbBands := TRMComboBox97.Create(Self);
with cmbBands do
begin
parent := Self;
Height := 21;
Width := 180;
DropDownCount := 12;
OnClick := FDesignerForm.cmbBandsClick;
OnDropDown := FDesignerForm.cmbBandsDropDown;
Perform(CB_SETDROPPEDWIDTH, 240, 0);
end;
{$IFDEF USE_TB2K}
btnAddBand := TRMSubmenuItem.Create(Self);
{$ELSE}
btnAddBand := TRMToolbarButton.Create(Self);
{$ENDIF}
with btnAddBand do
begin
ImageIndex := 16;
Images := FDesignerForm.ImageListFrame;
AddTo := Self;
DropdownCombo := True;
{$IFNDEF USE_TB2k}
DropdownMenu := FDesignerForm.PopupMenuBands;
{$ENDIF}
end;
btnDeleteBand := TRMToolbarButton.Create(Self);
with btnDeleteBand do
begin
ImageIndex := 15;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.btnDeleteBandClick;
AddTo := Self;
end;
EndUpdate;
Localize;
end;
procedure TRMToolbarBorder.Localize;
begin
RMSetStrProp(Self, 'Caption', rmRes + 083);
RMSetStrProp(btnFrameLeft, 'Hint', rmRes + 123);
RMSetStrProp(btnFrameRight, 'Hint', rmRes + 125);
RMSetStrProp(btnFrameTop, 'Hint', rmRes + 122);
RMSetStrProp(btnFrameBottom, 'Hint', rmRes + 124);
RMSetStrProp(btnNoBorder, 'Hint', rmRes + 127);
RMSetStrProp(btnSetBorder, 'Hint', rmRes + 126);
RMSetStrProp(btnTopBorder, 'Hint', rmRes + 234);
RMSetStrProp(btnBottomBorder, 'Hint', rmRes + 235);
RMSetStrProp(btnBias1Border, 'Hint', rmRes + 232);
RMSetStrProp(btnBias2Border, 'Hint', rmRes + 233);
RMSetStrProp(btnDecWidth, 'Hint', rmRes + 228);
RMSetStrProp(btnIncWidth, 'Hint', rmRes + 229);
RMSetStrProp(btnDecHeight, 'Hint', rmRes + 230);
RMSetStrProp(btnIncHeight, 'Hint', rmRes + 231);
RMSetStrProp(btnAddBand, 'Hint', rmRes + 134);
RMSetStrProp(btnDeleteBand, 'Hint', rmRes + 227);
RMSetStrProp(btnColumnMin, 'Hint', rmRes + 202);
RMSetStrProp(btnColumnMax, 'Hint', rmRes + 203);
RMSetStrProp(btnRowMin, 'Hint', rmRes + 204);
RMSetStrProp(btnRowMax, 'Hint', rmRes + 205);
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{TRMGridReportDesigner}
constructor TRMGridReportDesigner.Create(AOwner: TComponent);
begin
// if Assigned(FDesignerComp) then
// raise Exception.Create('You already have one TRMGridReportDesigner component');
inherited Create(AOwner);
FDesignerComp := Self;
FOpenFileCount := 4;
FDefaultDictionaryFile := '';
FUseUndoRedo := True;
end;
destructor TRMGridReportDesigner.Destroy;
begin
FDesignerComp := nil;
inherited Destroy;
end;
procedure TRMGridReportDesigner.SetOpenFileCount(Value: Integer);
begin
if (Value >= 0) and (Value <= 9) then
FOpenFileCount := Value;
end;
procedure TRMGridReportDesigner.SetDesignerRestrictions(Value: TRMDesignerRestrictions);
begin
FDesignerRestrictions := Value;
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMGridViewForm }
function TRMGridReportDesignerForm.PageObjects: TList;
var
i, j: Integer;
liCell: TRMCellInfo;
begin
if Page is TRMDialogPage then
begin
Result := Page.Objects;
Exit;
end;
if FList = nil then
FList := TList.Create;
FList.Clear;
for i := 0 to Page.Objects.Count - 1 do
FList.Add(Page.Objects[i]);
for i := 1 to FGrid.RowCount - 1 do
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?