rm_designer.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 2,241 行 · 第 1/5 页
PAS
2,241 行
{ TRMToolbarSize }
constructor TRMToolbarSize.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
inherited Create(AOwner);
Dockedto := DockTo;
// Parent := Self;
FDesignerForm := TRMDesignerForm(AOwner);
DockRow := 2;
DockPos := 100;
Name := 'ToolbarSize';
BeginUpDate;
btnSetWidthToMin := TRMToolbarButton.Create(Self);
with btnSetWidthToMin do
begin
ImageIndex := 0;
Images := FDesignerForm.ImageListSize;
OnClick := btnSetWidthToMinClick;
AddTo := Self;
end;
btnSetWidthToMax := TRMToolbarButton.Create(Self);
with btnSetWidthToMax do
begin
ImageIndex := 1;
Images := FDesignerForm.ImageListSize;
OnClick := btnSetWidthToMaxClick;
AddTo := Self;
end;
ToolbarSep979 := TRMToolbarSep.Create(Self);
with ToolbarSep979 do
begin
AddTo := Self;
end;
btnSetHeightToMin := TRMToolbarButton.Create(Self);
with btnSetHeightToMin do
begin
ImageIndex := 2;
Images := FDesignerForm.ImageListSize;
OnClick := btnSetHeightToMinClick;
AddTo := Self;
end;
btnSetHeightToMax := TRMToolbarButton.Create(Self);
with btnSetHeightToMax do
begin
ImageIndex := 3;
Images := FDesignerForm.ImageListSize;
OnClick := btnSetHeightToMaxClick;
AddTo := Self;
end;
EndUpdate;
Localize;
end;
procedure TRMToolbarSize.Localize;
begin
RMSetStrProp(btnSetWidthToMin, 'Hint', rmRes + 202);
RMSetStrProp(btnSetWidthToMax, 'Hint', rmRes + 203);
RMSetStrProp(btnSetHeightToMin, 'Hint', rmRes + 204);
RMSetStrProp(btnSetHeightToMax, 'Hint', rmRes + 205);
end;
procedure TRMToolbarSize.btnSetWidthToMinClick(Sender: TObject); //宽度最小
var
i: Integer;
t: TRMView;
tmpWidth: Integer;
begin
if FDesignerForm.SelNum < 2 then Exit;
t := FDesignerForm.GetFirstSelected;
if t.IsBand then Exit;
FDesignerForm.BeforeChange;
tmpWidth := t.spWidth_Designer;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter]))) then
begin
if t.spWidth_Designer < tmpWidth then
tmpWidth := t.spWidth_Designer;
end;
end;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter]))) then
t.spWidth_Designer := tmpWidth;
end;
FDesignerForm.FWorkSpace.GetMultipleSelected;
FDesignerForm.RedrawPage;
end;
procedure TRMToolbarSize.btnSetWidthToMaxClick(Sender: TObject); //宽度最大
var
i: Integer;
t: TRMView;
tmpWidth: Integer;
begin
if FDesignerForm.SelNum < 2 then Exit;
t := FDesignerForm.GetFirstSelected;
if t.IsBand then Exit;
FDesignerForm.BeforeChange;
tmpWidth := t.spWidth_Designer;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter]))) then
begin
if t.spWidth_Designer > tmpWidth then
tmpWidth := t.spWidth_Designer;
end;
end;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter]))) then
t.spWidth_Designer := tmpWidth;
end;
FDesignerForm.FWorkSpace.GetMultipleSelected;
FDesignerForm.RedrawPage;
end;
procedure TRMToolbarSize.btnSetHeightToMinClick(Sender: TObject); //高度最小
var
i: Integer;
t: TRMView;
tmpHeight: Integer;
lHaveBand: Boolean;
begin
if FDesignerForm.SelNum < 2 then Exit;
lHaveBand := False;
t := FDesignerForm.GetFirstSelected;
FDesignerForm.BeforeChange;
tmpHeight := t.spHeight_Designer;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (not (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter])))) then
begin
if t.spHeight_Designer < tmpHeight then
tmpHeight := t.spHeight_Designer;
end;
end;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (not (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter])))) then
begin
t.spHeight_Designer := tmpHeight;
if t.IsBand then lHaveBand := True;
end;
end;
if FDesignerForm.AutoChangeBandPos and lHaveBand then
begin
// SendBandsToDown;
FDesignerForm.Page.UpdateBandsPageRect;
end;
FDesignerForm.FWorkSpace.GetMultipleSelected;
FDesignerForm.RedrawPage;
end;
procedure TRMToolbarSize.btnSetHeightToMaxClick(Sender: TObject); //高度最大
var
i: Integer;
t: TRMView;
tmpHeight: Integer;
lHaveBand: Boolean;
begin
if FDesignerForm.SelNum < 2 then Exit;
lHaveBand := False;
t := FDesignerForm.GetFirstSelected;
FDesignerForm.BeforeChange;
tmpHeight := t.spHeight_Designer;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (not (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter])))) then
begin
if t.spHeight_Designer > tmpHeight then
tmpHeight := t.spHeight_Designer;
end;
end;
for i := 0 to FDesignerForm.Objects.Count - 1 do
begin
t := FDesignerForm.Objects[i];
if t.Selected and ((not t.IsBand) or
(t.IsBand and (not (TRMCustomBandView(t).BandType in [rmbtCrossHeader, rmbtCrossData, rmbtCrossFooter])))) then
begin
t.spHeight_Designer := tmpHeight;
if t.IsBand then lHaveBand := True;
end;
end;
if FDesignerForm.AutoChangeBandPos and lHaveBand then
begin
// SendBandsToDown;
FDesignerForm.Page.UpdateBandsPageRect;
end;
FDesignerForm.FWorkSpace.GetMultipleSelected;
FDesignerForm.RedrawPage;
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMToolbarBorder }
constructor TRMToolbarBorder.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
var
i: Integer;
begin
inherited Create(AOwner);
BeginUpdate;
// Parent := Self;
Dockedto := DockTo;
FDesignerForm := TRMDesignerForm(AOwner);
DockRow := 2;
DockPos := 0;
Name := 'ToolbarBorder';
btnFrameLeft := TRMToolbarButton.Create(Self);
with btnFrameLeft do
begin
Tag := TAG_SetFrameLeft;
AllowAllUp := True;
GroupIndex := 4;
ImageIndex := 1;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnFrameRight := TRMToolbarButton.Create(Self);
with btnFrameRight do
begin
Tag := TAG_SetFrameRight;
AllowAllUp := True;
GroupIndex := 3;
ImageIndex := 3;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnFrameTop := TRMToolbarButton.Create(Self);
with btnFrameTop do
begin
Tag := TAG_SetFrameTop;
AllowAllUp := True;
GroupIndex := 2;
ImageIndex := 0;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnFrameBottom := TRMToolbarButton.Create(Self);
with btnFrameBottom do
begin
Tag := TAG_SetFrameBottom;
AllowAllUp := True;
GroupIndex := 1;
ImageIndex := 2;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
ToolbarSep9717 := TRMToolbarSep.Create(Self);
with ToolbarSep9717 do
begin
AddTo := Self;
end;
btnSetFrame := TRMToolbarButton.Create(Self);
with btnSetFrame do
begin
Tag := TAG_SetFrame;
ImageIndex := 4;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
btnNoFrame := TRMToolbarButton.Create(Self);
with btnNoFrame do
begin
Tag := TAG_NoFrame;
ImageIndex := 5;
Images := FDesignerForm.ImageListFrame;
OnClick := FDesignerForm.DoClick;
AddTo := Self;
end;
ToolbarSep9722 := TRMToolbarSep.Create(Self);
with ToolbarSep9722 do
begin
AddTo := Self;
end;
FBtnBackColor := TRMColorPickerButton.Create(FDesignerForm);
with FBtnBackColor do
begin
Parent := Self;
Tag := TAG_BackColor;
ParentShowHint := True;
ColorType := rmptFill;
OnColorChange := FDesignerForm.DoClick;
end;
FBtnFrameColor := TRMColorPickerButton.Create(FDesignerForm);
with FBtnFrameColor do
begin
Parent := Self;
Tag := TAG_FrameColor;
ParentShowHint := True;
ColorType := rmptLine; //rmptHighlight;
OnColorChange := FDesignerForm.DoClick;
end;
ToolbarSep9719 := TRMToolbarSep.Create(Self);
with ToolbarSep9719 do
begin
AddTo := Self;
end;
btnSetFrameStyle := TRMFrameStyleButton {TRMToolbarButton}.Create(Self);
with btnSetFrameStyle do
begin
Images := FDesignerForm.ImageListFrame;
{$IFDEF USE_TB2K}
Parent := Self;
FDesignerForm.ImageListFrame.GetBitmap(6, Glyph);
{$ELSE}
ImageIndex := 6;
AddTo := Self;
{$ENDIF}
OnStyleChange := btnSetFrameStyle_OnChange;
end;
FCmbFrameWidth := TRMComboBox97.Create(FDesignerForm);
with FCmbFrameWidth do
begin
Parent := Self;
Width := 44;
Tag := TAG_FrameSize;
DropDownCount := 14;
Items.Add('0.1');
Items.Add('0.5');
Items.Add('1');
Items.Add('1.5');
for i := 2 to 10 do
Items.Add(IntToStr(i));
OnClick := FDesignerForm.DoClick;
end;
FBtnBackColor.CurrentColor := 0;
FBtnFrameColor.CurrentColor := 0;
EndUpdate;
Localize;
end;
procedure TRMToolbarBorder.Localize;
begin
RMSetStrProp(FCmbFrameWidth, 'Hint', rmRes + 194);
RMSetStrProp(btnSetFrameStyle, 'Hint', rmRes + 191);
RMSetStrProp(btnSetFrame, 'Hint', rmRes + 126);
RMSetStrProp(FBtnFrameColor, 'Hint', rmRes + 210);
RMSetStrProp(FBtnBackColor, 'Hint', rmRes + 209);
RMSetStrProp(btnNoFrame, 'Hint', rmRes + 127);
RMSetStrProp(btnSetFrame, 'Hint', rmRes + 126);
RMSetStrProp(btnFrameRight, 'Hint', rmRes + 125);
RMSetStrProp(btnFrameBottom, 'Hint', rmRes + 124);
RMSetStrProp(btnFrameLeft, 'Hint', rmRes + 123);
RMSetStrProp(btnFrameTop, 'Hint', rmRes + 122);
end;
procedure TRMToolbarBorder.SetStatus;
var
t: TRMView;
begin
if FDesignerForm.SelNum = 1 then
begin
t := FDesignerForm.Objects[FDesignerForm.TopSelected];
if not t.IsBand then
begin
with t do
begin
btnFrameTop.Down := TopFrame.Visible;
btnFrameLeft.Down := LeftFrame.Visible;
btnFrameBottom.Down := BottomFrame.Visible;
btnFrameRight.Down := RightFrame.Visible;
FBtnBackColor.CurrentColor := FillColor;
FBtnFrameColor.CurrentColor := t.TopFrame.Color;
FCmbFrameWidth.Text := FloatToStrF(RMFromMMThousandths(t.TopFrame.mmWidth, rmutScreenPixels), ffGeneral, 2, 2);
end;
end;
end
else if FDesignerForm.SelNum > 1 then
begin
btnFrameTop.Down := False;
btnFrameLeft.Down := False;
btnFrameBottom.Down := False;
btnFrameRight.Down := False;
FBtnBackColor.CurrentColor := 0;
FCmbFrameWidth.Text := '1';
end;
end;
procedure TRMToolbarBorder.btnSetFrameStyle_OnChange(Sender: TObject);
begin
FDesignerForm.DoClick(Sender);
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
constructor TRMToolbarModifyPrepared.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
inherited Create(AOwner);
BeginUpdate;
Dockedto := DockTo;
FDesignerForm := TRMDesignerForm(AOwner);
DockRow := 4;
DockPos := 0;
Name := 'ToolbarModifyPrepared';
CloseButton := False;
btnModifyPreviedFirst := TRMToolbarButton.Create(Self);
with btnModifyPreviedFirst do
begin
Width := 60;
Images := FDesignerForm.ImageListModifyPreview;
ImageIndex := 0;
OnClick := btnModifyPreviedFirstClick;
AddTo := Self;
{$IFDEF USE_TB2k}
DisplayMode := nbdmImageAndText;
{$ELSE}
DisplayMode := dmBoth;
{$ENDIF}
end;
btnModifyPreviedPrev := TRMToolbarButton.Create(Self);
with btnModifyPreviedPrev do
begin
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?