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

📄 dockingmegademomain.pas

📁 胜天进销存源码,国产优秀的进销存
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;

procedure TDockingMegaDemoMainForm.dxBarButtonNETViewClick(Sender: TObject);
begin
  dxDockingManager1.ViewStyle := vsNET;
  BarManager.Style := bmsFlat;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonOffice11ViewClick(Sender: TObject);
begin
  dxDockingManager1.ViewStyle := vsOffice11;
  BarManager.Style := bmsOffice11;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonXPViewClick(Sender: TObject);
begin
  dxDockingManager1.ViewStyle := vsXP;
  BarManager.Style := bmsXP;
end;

procedure TDockingMegaDemoMainForm.frSolutionExplorer1TreeView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  ANode: TTreeNode;
begin
  ANode := tvSolutionExplorer.GetNodeAt(X, Y);
  if ANode <> nil then
    DockControl := TdxCustomDockControl(ANode.Data)
  else DockControl := dsHost;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonOnWebClick(Sender: TObject);
begin
  Browse(spStart);
end;

procedure TDockingMegaDemoMainForm.dpContextPopup(Sender: TObject;
  MousePos: TPoint; var Handled: Boolean);
var
  pt: TPoint;
  AControl: TdxCustomDockControl;
begin
  GetCursorPos(pt);
  AControl := dxDockingController.GetDockControlAtPos(pt);
  if AControl <> nil then
  begin
    FPopupMenuDockControl := AControl;
    dxBarButtonDockable.Down := FPopupMenuDockControl.Dockable;
    dxBarButtonFloating.Down := FPopupMenuDockControl.FloatDockSite <> nil;
    dxBarButtonAutoHide.Enabled := FPopupMenuDockControl.CanAutoHide;
    dxBarButtonAutoHide.Down := FPopupMenuDockControl.AutoHide;
    dxBarPopupMenu1.PopupFromCursorPos;
    Handled := True;
  end;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonDockableClick(Sender: TObject);
begin
  if FPopupMenuDockControl <> nil then
  begin
    FPopupMenuDockControl.Dockable := (Sender as TdxBarButton).Down;
    FPopupMenuDockControl := nil;
  end;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonHideClick(Sender: TObject);
begin
  if FPopupMenuDockControl <> nil then
  begin
    FPopupMenuDockControl.Visible := False;
    FPopupMenuDockControl := nil;
  end;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonFloatingClick(Sender: TObject);
var
  pt: TPoint;
begin
  if (FPopupMenuDockControl <> nil) and (FPopupMenuDockControl.DockState <> dsFloating) then
  begin
    GetCursorPos(pt);
    FPopupMenuDockControl.MakeFloating(pt.X, pt.Y);
    FPopupMenuDockControl := nil;
  end;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonAutoHideClick(Sender: TObject);
begin
  if FPopupMenuDockControl <> nil then
  begin
    FPopupMenuDockControl.AutoHide := (Sender as TdxBarButton).Down;
    FPopupMenuDockControl := nil;
  end;
end;

procedure TDockingMegaDemoMainForm.FormShow(Sender: TObject);
begin
  DockControl := dsHost;
  UpdateSolutionTV;
  UpdateClassViewTV;
  ComboBox1.Align := alClient;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonLoadClick(Sender: TObject);
begin
  if OpenDialog1.Execute then
    dxDockingManager1.LoadLayoutFromIniFile(OpenDialog1.FileName);
end;

procedure TDockingMegaDemoMainForm.dxBarButtonSaveClick(Sender: TObject);
begin
  if SaveDialog1.Execute then
    dxDockingManager1.SaveLayoutToIniFile(SaveDialog1.FileName);
end;

procedure TDockingMegaDemoMainForm.dxDockingManager1LayoutChanged(Sender: TdxCustomDockControl);
begin
  UpdateSolutionTV;
end;

procedure TDockingMegaDemoMainForm.SetDockControl(const Value: TdxCustomDockControl);
begin
  if FDockControl <> Value then
  begin
    FDockControl := Value;
    UpdateProperties;
  end;
end;

procedure TDockingMegaDemoMainForm.ApplyProperties;
var
  ADockTypes: TdxDockingTypes;
  ACaptionButtons: TdxCaptionButtons;
begin
  if (FDockControl = nil) or (csDestroying in FDockControl.ComponentState) then exit;

  FDockControl.ManagerColor := cbManagerColor.Checked;
  FDockControl.ManagerFont := cbManagerFont.Checked;
  FDockControl.Caption := eCaption.Text;
  FDockControl.ShowCaption := cbShowCaption.Checked;

  ACaptionButtons := [];
  if cbShowCloseButton.Checked then
    ACaptionButtons := ACaptionButtons + [cbClose];
  if cbShowMaxButton.Checked then
    ACaptionButtons := ACaptionButtons + [cbMaximize];
  if cbShowHideButton.Checked then
    ACaptionButtons := ACaptionButtons + [cbHide];

  FDockControl.CaptionButtons := ACaptionButtons;

  ADockTypes := [];
  if cbAllowDockLeft.Checked then ADockTypes := ADockTypes + [dtLeft];
  if cbAllowDockTop.Checked then ADockTypes := ADockTypes + [dtTop];
  if cbAllowDockRight.Checked then ADockTypes := ADockTypes + [dtRight];
  if cbAllowDockBottom.Checked then ADockTypes := ADockTypes + [dtBottom];
  if cbAllowDockClient.Checked then ADockTypes := ADockTypes + [dtClient];
  FDockControl.AllowDock := ADockTypes;

  FDockControl.AllowFloating := cbAllowFloating.Checked;

  ADockTypes := [];
  if cbAllowDockClientsLeft.Checked then ADockTypes := ADockTypes + [dtLeft];
  if cbAllowDockClientsTop.Checked then ADockTypes := ADockTypes + [dtTop];
  if cbAllowDockClientsRight.Checked then ADockTypes := ADockTypes + [dtRight];
  if cbAllowDockClientsBottom.Checked then ADockTypes := ADockTypes + [dtBottom];
  if cbAllowDockClientsClient.Checked then ADockTypes := ADockTypes + [dtClient];
  FDockControl.AllowDockClients := ADockTypes;

  if FDockControl is TdxTabContainerDockSite then
  begin
    if cbTabsOnTop.Checked then
      (FDockControl as TdxTabContainerDockSite).TabsPosition := tctpTop
    else (FDockControl as TdxTabContainerDockSite).TabsPosition := tctpBottom;
    (FDockControl as TdxTabContainerDockSite).TabsScroll := cbTabsScrollable.Checked;
  end;
end;

procedure TDockingMegaDemoMainForm.UpdateProperties;
begin
  if (FDockControl <> nil) and not (csDestroying in FDockControl.ComponentState) then
  begin
    cbManagerColor.Enabled := True;
    cbManagerColor.Checked := FDockControl.ManagerColor;
    cbManagerFont.Enabled := True;
    cbManagerFont.Checked := FDockControl.ManagerFont;
    eCaption.Enabled := True;
    eCaption.Text := FDockControl.Caption;
    cbShowCaption.Enabled := True;
    cbShowCaption.Checked := FDockControl.ShowCaption;
    cbShowCloseButton.Enabled := True;
    cbShowCloseButton.Checked := cbClose in FDockControl.CaptionButtons;
    cbShowMaxButton.Enabled := True;
    cbShowMaxButton.Checked := cbMaximize in FDockControl.CaptionButtons;
    cbShowHideButton.Enabled := True;
    cbShowHideButton.Checked := cbHide in FDockControl.CaptionButtons;

    cbAllowDockLeft.Enabled := True;
    cbAllowDockLeft.Checked := dtLeft in FDockControl.AllowDock;
    cbAllowDockTop.Enabled := True;
    cbAllowDockTop.Checked := dtTop in FDockControl.AllowDock;
    cbAllowDockRight.Enabled := True;
    cbAllowDockRight.Checked := dtRight in FDockControl.AllowDock;
    cbAllowDockBottom.Enabled := True;
    cbAllowDockBottom.Checked := dtBottom in FDockControl.AllowDock;
    cbAllowDockClient.Enabled := True;
    cbAllowDockClient.Checked := dtClient in FDockControl.AllowDock;
    cbAllowFloating.Enabled := True;
    cbAllowFloating.Checked := FDockControl.AllowFloating;
    cbAllowDockClientsLeft.Enabled := True;
    cbAllowDockClientsLeft.Checked := dtLeft in FDockControl.AllowDockClients;
    cbAllowDockClientsTop.Enabled := True;
    cbAllowDockClientsTop.Checked := dtTop in FDockControl.AllowDockClients;
    cbAllowDockClientsRight.Enabled := True;
    cbAllowDockClientsRight.Checked := dtRight in FDockControl.AllowDockClients;
    cbAllowDockClientsBottom.Enabled := True;
    cbAllowDockClientsBottom.Checked := dtBottom in FDockControl.AllowDockClients;
    cbAllowDockClientsClient.Enabled := True;
    cbAllowDockClientsClient.Checked := dtClient in FDockControl.AllowDockClients;

    if FDockControl is TdxTabContainerDockSite then
    begin
      cbTabsOnTop.Enabled := True;
      cbTabsOnTop.Checked := (FDockControl as TdxTabContainerDockSite).TabsPosition = tctpTop;
      cbTabsScrollable.Enabled := True;
      cbTabsScrollable.Checked := (FDockControl as TdxTabContainerDockSite).TabsScroll;
    end
    else
    begin
      cbTabsOnTop.Enabled := False;
      cbTabsScrollable.Enabled := False;
    end;
    btnApply.Enabled := True;
    btnCancel.Enabled := True;
  end
  else DisableProperties;
end;

procedure TDockingMegaDemoMainForm.DisableProperties;
begin
  cbManagerColor.Checked := False;
  cbManagerColor.Enabled := False;
  cbManagerFont.Checked := False;
  cbManagerFont.Enabled := False;
  eCaption.Text := '';
  eCaption.Enabled := False;
  cbShowCaption.Checked := False;
  cbShowCaption.Enabled := False;
  cbShowCloseButton.Checked := False;
  cbShowCloseButton.Enabled := False;
  cbShowMaxButton.Checked := False;
  cbShowMaxButton.Enabled := False;
  cbShowHideButton.Checked := False;
  cbShowHideButton.Enabled := False;
  cbAllowDockLeft.Checked := False;
  cbAllowDockLeft.Enabled := False;
  cbAllowDockTop.Checked := False;
  cbAllowDockTop.Enabled := False;
  cbAllowDockRight.Checked := False;
  cbAllowDockRight.Enabled := False;
  cbAllowDockBottom.Checked := False;
  cbAllowDockBottom.Enabled := False;
  cbAllowDockClient.Checked := False;
  cbAllowDockClient.Enabled := False;
  cbAllowFloating.Checked := False;
  cbAllowFloating.Enabled := False;
  cbAllowDockClientsLeft.Checked := False;
  cbAllowDockClientsLeft.Enabled := False;
  cbAllowDockClientsTop.Checked := False;
  cbAllowDockClientsTop.Enabled := False;
  cbAllowDockClientsRight.Checked := False;
  cbAllowDockClientsRight.Enabled := False;
  cbAllowDockClientsBottom.Checked := False;
  cbAllowDockClientsBottom.Enabled := False;
  cbAllowDockClientsClient.Checked := False;
  cbAllowDockClientsClient.Enabled := False;
  cbTabsOnTop.Checked := False;
  cbTabsOnTop.Enabled := False;
  cbTabsScrollable.Checked := False;
  cbTabsScrollable.Enabled := False;
  btnApply.Enabled := False;
  btnCancel.Enabled := False;
end;

procedure TDockingMegaDemoMainForm.btnApplyClick(Sender: TObject);
begin
  ApplyProperties;
  UpdateProperties;
end;

procedure TDockingMegaDemoMainForm.btnCancelClick(Sender: TObject);
begin
  UpdateProperties;
end;

procedure TDockingMegaDemoMainForm.tvSolutionExplorerChange(Sender: TObject;
  Node: TTreeNode);
begin
  Node := tvSolutionExplorer.Selected;
  if Node <> nil then
    DockControl := TdxCustomDockControl(Node.Data)
  else DockControl := dsHost;
end;

procedure TDockingMegaDemoMainForm.FormCreate(Sender: TObject);
begin
  dmCommonData.AboutFormClass := TDockingMegaDemoAboutForm;

{$IFDEF DELPHI5}
  dpStartPage.OnContextPopup := dpContextPopup;
  dpProperties.OnContextPopup := dpContextPopup;
  dpSolutionExplorer.OnContextPopup := dpContextPopup;
  dpClassView.OnContextPopup := dpContextPopup;
  dpOutput.OnContextPopup := dpContextPopup;
  dpCallStack.OnContextPopup := dpContextPopup;
  dpWatch.OnContextPopup := dpContextPopup;
  dpToolbox.OnContextPopup := dpContextPopup;
{$ENDIF}
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -