📄 frmmainunit.pas
字号:
actSaveAs.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actSaveAsExecute(Sender: TObject);
begin
SaveAs(ActiveMDIChild);
end;
function TfrmMain.CloseAll: Boolean;
var
LI: Integer;
begin
Result := True;
for LI := MDIChildCount - 1 downto 0 do
begin
MDIChildren[LI].Close;
if not FormWasClosed then
begin
Result := False;
Break;
end;
end;
end;
procedure TfrmMain.actCloseAllUpdate(Sender: TObject);
begin
actCloseAll.Enabled := MDIChildCount > 0;
end;
procedure TfrmMain.actCloseAllExecute(Sender: TObject);
begin
CloseAll;
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not CloseAll then Action := caNone;
end;
procedure TfrmMain.actCloseUpdate(Sender: TObject);
begin
actClose.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actCloseExecute(Sender: TObject);
begin
ActiveMDIChild.Close;
end;
procedure TfrmMain.actSaveSaveAllUpdate(Sender: TObject);
begin
actSaveSaveAll.Enabled := (ActiveMDIChild <> nil) and
((TfrmDoc(ActiveMDIChild).Modified) or (TfrmDoc(ActiveMDIChild).FileName = ''));
end;
procedure TfrmMain.actSaveSaveAllExecute(Sender: TObject);
begin
if TfrmDoc(ActiveMDIChild).FileName = '' then
SaveAs(ActiveMDIChild)
else
Save(ActiveMDIChild);
end;
procedure TfrmMain.actCopyUpdate(Sender: TObject);
begin
actCopy.Enabled := (ActiveMDIChild <> nil) and
TfrmDoc(ActiveMDIChild).Designer.CanCopyToClipboard;
end;
procedure TfrmMain.actCutUpdate(Sender: TObject);
begin
actCut.Enabled := (ActiveMDIChild <> nil) and
TfrmDoc(ActiveMDIChild).Designer.CanCutToClipboard;
end;
procedure TfrmMain.actPasteUpdate(Sender: TObject);
begin
actPaste.Enabled := (ActiveMDIChild <> nil) and
TfrmDoc(ActiveMDIChild).Designer.CanPasteFromClipboard;
end;
procedure TfrmMain.actCopyExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.CopyToClipboard;
end;
procedure TfrmMain.actCutExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.CutToClipboard;
end;
procedure TfrmMain.actPasteExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.PasteFromClipboard;
end;
procedure TfrmMain.actDeleteExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.DeleteSelectedComponents;
end;
procedure TfrmMain.actDeleteUpdate(Sender: TObject);
begin
actDelete.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actLockUpdate(Sender: TObject);
begin
actLock.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actLockExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.Lock(
[lmNoResize, lmNoMove, lmNoDelete]);
end;
procedure TfrmMain.actUnlockUpdate(Sender: TObject);
begin
actUnlock.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actUnlockExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.Lock([]);
end;
procedure TfrmMain.actUnlockAllUpdate(Sender: TObject);
begin
actUnlockAll.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actUnlockAllExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.LockAll([]);
end;
procedure TfrmMain.actSelectAllUpdate(Sender: TObject);
begin
actSelectAll.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actSelectAllExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.SelectAll;
end;
procedure TfrmMain.actAlignToGridUpdate(Sender: TObject);
begin
actAlignToGrid.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actAlignToGridExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.AlignToGrid;
end;
procedure TfrmMain.actBringToFrontUpdate(Sender: TObject);
begin
actBringToFront.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actSendToBackUpdate(Sender: TObject);
begin
actSendToBack.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actBringToFrontExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.BringToFront;
end;
procedure TfrmMain.actSendToBackExecute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.SendToBack;
end;
procedure TfrmMain.actEnabledUpdate(Sender: TObject);
begin
actEnabled.Enabled := (ActiveMDIChild <> nil) and
(TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.Count = 1) and
(TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.DefaultComponent <>
TfrmDoc(ActiveMDIChild).Report);
actEnabled.Checked := actEnabled.Enabled and
(TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.DefaultComponent is TControl) and
TControl(TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.DefaultComponent).Enabled;
end;
procedure TfrmMain.actEnabledExecute(Sender: TObject);
begin
if TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.DefaultComponent is TControl then
begin
TControl(TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.DefaultComponent).Enabled :=
not TControl(TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.DefaultComponent).Enabled;
frmProps.PropInsp.UpdateContent;
TfrmDoc(ActiveMDIChild).Modify;
end;
end;
procedure TfrmMain.actEnableAllUpdate(Sender: TObject);
begin
actEnableAll.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actEnableAllExecute(Sender: TObject);
var
LI: Integer;
begin
for LI := 0 to TfrmDoc(ActiveMDIChild).Report.ComponentCount - 1 do
if TfrmDoc(ActiveMDIChild).Report.Components[LI] is TControl then
TControl(TfrmDoc(ActiveMDIChild).Report.Components[LI]).Enabled := True;
frmProps.PropInsp.UpdateContent;
TfrmDoc(ActiveMDIChild).Modify;
end;
procedure TfrmMain.actChangeDataUpdate(Sender: TObject);
begin
actChangeData.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actChangeDataExecute(Sender: TObject);
var
LDataSet: TBDEDataSet;
begin
if dlgData.Execute(LDataSet, ActiveMDIChild) then
begin
TfrmDoc(ActiveMDIChild).DataSet := LDataSet;
frmProps.PropInsp.UpdateContent;
TfrmDoc(ActiveMDIChild).Modify;
end;
end;
procedure TfrmMain.Close2Click(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.ComboBox1Change(Sender: TObject);
var
LZoom: Integer;
begin
if ActiveMDIChild <> nil then
begin
LZoom := TfrmDoc(ActiveMDIChild).Report.Zoom;
case ComboBox1.ItemIndex of
0: LZoom := 25;
1: LZoom := 50;
2: LZoom := 75;
3: LZoom := 100;
4: LZoom := 150;
5: LZoom := 200;
end;
TfrmDoc(ActiveMDIChild).Report.Zoom := LZoom;
TfrmDoc(ActiveMDIChild).Report.Left := 0;
TfrmDoc(ActiveMDIChild).Report.Top := 0;
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.Update;
end
else ComboBox1.ItemIndex := -1;
end;
procedure TfrmMain.actZoom100Update(Sender: TObject);
begin
actZoom100.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actZoom100Execute(Sender: TObject);
begin
TfrmDoc(ActiveMDIChild).Report.Zoom := 100;
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.Update;
ComboBox1.ItemIndex := 3;
end;
procedure TfrmMain.UpdateZoomComboBox(AClosingForm: Boolean);
var
LIndex: Integer;
begin
if (ActiveMDIChild <> nil) and not AClosingForm then
begin
case TfrmDoc(ActiveMDIChild).Report.Zoom of
25: LIndex := 0;
50: LIndex := 1;
75: LIndex := 2;
100: LIndex := 3;
150: LIndex := 4;
200: LIndex := 5;
else
LIndex := -1;
end;
ComboBox1.ItemIndex := LIndex;
end
else ComboBox1.ItemIndex := -1;
end;
procedure TfrmMain.actPrintUpdate(Sender: TObject);
begin
actPrint.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actPrintExecute(Sender: TObject);
var
LV: Boolean;
begin
LV := frmProps.Visible;
frmProps.Visible := False;
try
TfrmDoc(ActiveMDIChild).DataSet.Open;
TfrmDoc(ActiveMDIChild).Report.Print;
finally
frmProps.Visible := LV;
end;
end;
procedure TfrmMain.actALLeftUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actALLeftExecute(Sender: TObject);
var
LHorzAlignType, LVertAlignType: TLMDDesignerAlignType;
begin
LHorzAlignType := atNoChanges;
LVertAlignType := atNoChanges;
case TAction(Sender).Tag of
0: LHorzAlignType := atLeftTop;
1: LHorzAlignType := atRightBottom;
2: LVertAlignType := atLeftTop;
3: LVertAlignType := atRightBottom;
4: LHorzAlignType := atSpaceEqually;
5: LVertAlignType := atSpaceEqually;
6: LHorzAlignType := atCenter;
7: LVertAlignType := atCenter;
8: LHorzAlignType := atCenterInWindow;
9: LVertAlignType := atCenterInWindow;
end;
TfrmDoc(ActiveMDIChild).Designer.SelectedComponents.Align(LHorzAlignType, LVertAlignType);
end;
procedure TfrmMain.actRepPropsUpdate(Sender: TObject);
begin
actRepProps.Enabled := (ActiveMDIChild <> nil);
end;
procedure TfrmMain.actRepPropsExecute(Sender: TObject);
begin
if dlgReportProps.Execute(TfrmDoc(ActiveMDIChild).Report) then
begin
frmProps.PropInsp.UpdateContent;
TfrmDoc(ActiveMDIChild).Modify;
end;
end;
initialization
ForceCurrentDirectory := True;
RegisterClasses([TQuickRep, TQRBand, TQRLabel, TQRDBText, TQRExpr,
TQRSysData, TQRMemo, TQRExprMemo, TQRShape]);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -