⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmainunit.pas

📁 delphi 运行期间窗体设计
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -