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

📄 dockingmegademomain.pas

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

{$I ..\cxVer.inc}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, dxDockPanel, Menus, StdCtrls, ExtCtrls, ImgList,
  Clipbrd, dxBar, ActnList, dxDockControl, StdActns, dxBarExtItems, dxsbar,
  cxClasses, EBarsUtils;

type
  TDockingMegaDemoMainForm = class(TForm)
    dsHost: TdxDockSite;
    dpStartPage: TdxDockPanel;
    dpOutput: TdxDockPanel;
    dpToolbox: TdxDockPanel;
    dxDockingManager1: TdxDockingManager;
    dpProperties: TdxDockPanel;
    dxLayoutDockSite1: TdxLayoutDockSite;
    dpClassView: TdxDockPanel;
    dxLayoutDockSite4: TdxLayoutDockSite;
    dxLayoutDockSite2: TdxLayoutDockSite;
    dpCallStack: TdxDockPanel;
    dxTabContainerDockSite1: TdxTabContainerDockSite;
    dpSolutionExplorer: TdxDockPanel;
    dxTabContainerDockSite2: TdxTabContainerDockSite;
    dpWatch: TdxDockPanel;
    BarManager: TdxBarManager;
    dxBarButtonLoad: TdxBarLargeButton;
    dxBarButtonSave: TdxBarLargeButton;
    dxBarSubItemFile: TdxBarSubItem;
    dxBarSubItemInsert: TdxBarSubItem;
    dxBarSubItemFormat: TdxBarSubItem;
    dxBarSubItemWindow: TdxBarSubItem;
    dxBarButtonExit: TdxBarLargeButton;
    dxBarSubItemHelp: TdxBarSubItem;
    imBarIcons: TImageList;
    dxBarButtonToolBox: TdxBarLargeButton;
    dxBarButtonWatch: TdxBarLargeButton;
    dxBarButtonOutput: TdxBarLargeButton;
    dxBarButtonCallStack: TdxBarLargeButton;
    dxBarButtonProperties: TdxBarLargeButton;
    dxBarButtonClassView: TdxBarLargeButton;
    dxBarButtonSolutionExplorer: TdxBarLargeButton;
    dxBarButtonFont: TdxBarLargeButton;
    dxBarButtonColor: TdxBarLargeButton;
    dxBarButtonStandardView: TdxBarLargeButton;
    dxBarButtonNETView: TdxBarLargeButton;
    dxBarButtonXPView: TdxBarLargeButton;
    dxBarSubItemOtherWindows: TdxBarSubItem;
    ColorDialog1: TColorDialog;
    FontDialog1: TFontDialog;
    ilDockIcons: TImageList;
    dxBarPopupMenu1: TdxBarPopupMenu;
    dxBarButtonDockable: TdxBarButton;
    dxBarButtonHide: TdxBarButton;
    dxBarButtonFloating: TdxBarButton;
    dxBarButtonAutoHide: TdxBarButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    dxLayoutDockSite3: TdxLayoutDockSite;
    dxBarButtonStartPage: TdxBarLargeButton;
    dxBarButtonOffice11View: TdxBarLargeButton;
    dxBarButton1: TdxBarLargeButton;
    dxBarButton2: TdxBarLargeButton;
    dxBarButton3: TdxBarLargeButton;
    dxBarButton4: TdxBarLargeButton;
    dxBarButton5: TdxBarLargeButton;
    dxBarButton6: TdxBarLargeButton;
    dxBarButton7: TdxBarLargeButton;
    ilDisabledImages: TImageList;
    ilHotImages: TImageList;
    ListView1: TListView;
    Memo1: TMemo;
    Panel1: TPanel;
    ComboBox1: TComboBox;
    ListView2: TListView;
    tvSolutionExplorer: TTreeView;
    tvClassView: TTreeView;
    iComponentsIcons: TImageList;
    dxSideBar1: TdxSideBar;
    ScrollBox1: TScrollBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    cbManagerColor: TCheckBox;
    cbManagerFont: TCheckBox;
    eCaption: TEdit;
    cbShowCaption: TCheckBox;
    cbShowCloseButton: TCheckBox;
    cbShowMaxButton: TCheckBox;
    cbShowHideButton: TCheckBox;
    cbAllowDockLeft: TCheckBox;
    cbAllowDockTop: TCheckBox;
    cbAllowDockClient: TCheckBox;
    cbAllowFloating: TCheckBox;
    cbAllowDockBottom: TCheckBox;
    cbAllowDockRight: TCheckBox;
    cbAllowDockClientsLeft: TCheckBox;
    cbAllowDockClientsTop: TCheckBox;
    cbAllowDockClientsClient: TCheckBox;
    cbAllowDockClientsBottom: TCheckBox;
    cbAllowDockClientsRight: TCheckBox;
    cbTabsOnTop: TCheckBox;
    cbTabsScrollable: TCheckBox;
    Panel2: TPanel;
    Image2: TImage;
    Panel3: TPanel;
    Label4: TLabel;
    Image3: TImage;
    Image4: TImage;
    Label5: TLabel;
    Panel4: TPanel;
    btnApply: TButton;
    btnCancel: TButton;
    dxVertContainerDockSite1: TdxVertContainerDockSite;
    Panel5: TPanel;
    Image1: TImage;
    dxBarLargeButton1: TdxBarLargeButton;
    dxBarLargeButton2: TdxBarLargeButton;
    procedure dxBarButtonExitClick(Sender: TObject);
    procedure dxBarButtonSolutionExplorerClick(Sender: TObject);
    procedure dxBarButtonClassViewClick(Sender: TObject);
    procedure dxBarButtonPropertiesClick(Sender: TObject);
    procedure dxBarButtonToolBoxClick(Sender: TObject);
    procedure dxBarButtonCallStackClick(Sender: TObject);
    procedure dxBarButtonOutputClick(Sender: TObject);
    procedure dxBarButtonFontClick(Sender: TObject);
    procedure dxBarButtonColorClick(Sender: TObject);
    procedure dxBarButtonStandardViewClick(Sender: TObject);
    procedure dxBarButtonNETViewClick(Sender: TObject);
    procedure dxBarButtonXPViewClick(Sender: TObject);
    procedure frSolutionExplorer1TreeView1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure dxBarButtonOnWebClick(Sender: TObject);
    procedure dxBarButtonWatchClick(Sender: TObject);
    procedure dpContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
    procedure dxBarButtonDockableClick(Sender: TObject);
    procedure dxBarButtonHideClick(Sender: TObject);
    procedure dxBarButtonFloatingClick(Sender: TObject);
    procedure dxBarButtonAutoHideClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure dxBarButtonLoadClick(Sender: TObject);
    procedure dxBarButtonSaveClick(Sender: TObject);
    procedure dxBarButtonStartPageClick(Sender: TObject);
    procedure dxBarButtonOffice11ViewClick(Sender: TObject);
    procedure dxDockingManager1LayoutChanged(Sender: TdxCustomDockControl);
    procedure btnApplyClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure tvSolutionExplorerChange(Sender: TObject; Node: TTreeNode);
    procedure FormCreate(Sender: TObject);
  private
    FDockControl: TdxCustomDockControl;
    procedure SetDockControl(const Value: TdxCustomDockControl);
    procedure ApplyProperties;
    procedure UpdateProperties;
    procedure DisableProperties;
  private
    FPopupMenuDockControl: TdxCustomDockControl;
    procedure UpdateSolutionTV;
    procedure UpdateClassViewTV;
    property DockControl: TdxCustomDockControl read FDockControl write SetDockControl;
  end;

var
  DockingMegaDemoMainForm: TDockingMegaDemoMainForm;

implementation

uses
  DockingMegaDemoAbout, EBarsDemoRating;

{$R *.dfm}

procedure TDockingMegaDemoMainForm.UpdateSolutionTV;
  procedure CheckSite(AControl: TdxCustomDockControl; ANode: TTreeNode);
  var
    I: Integer;
    AChild: TTreeNode;
    ANodeName: string;
  begin
    if AControl.Name <> '' then
      ANodeName := AControl.Name
    else ANodeName := AControl.ClassName;
    AChild := tvSolutionExplorer.Items.AddChildObject(ANode, ANodeName, AControl);
    AChild.StateIndex := AControl.ImageIndex;
    for I := 0 to AControl.ChildCount - 1 do
       CheckSite(AControl.Children[I], AChild);
  end;
var
  I: Integer;
begin
  if not tvSolutionExplorer.HandleAllocated then exit;
  tvSolutionExplorer.Items.BeginUpdate;
  try
    tvSolutionExplorer.Items.Clear;
    CheckSite(dsHost, nil);
    tvSolutionExplorer.FullExpand;
  finally
    tvSolutionExplorer.Items.EndUpdate;
  end;
  tvSolutionExplorer.Selected := nil;
  for I := 0 to tvSolutionExplorer.Items.Count - 1 do
    if TdxCustomDockControl(tvSolutionExplorer.Items[I].Data) = DockControl then
      tvSolutionExplorer.Selected := tvSolutionExplorer.Items[I];
  UpdateProperties;
end;

procedure TDockingMegaDemoMainForm.UpdateClassViewTV;
var
  ANode: TTreeNode;
begin
  if not tvClassView.HandleAllocated then Exit;
  tvClassView.Items.BeginUpdate;
  try
    tvClassView.Items.Clear;
    ANode := tvClassView.Items.AddChild(nil, 'TdxCustomDockControl');
    ANode := tvClassView.Items.AddChild(ANode, 'TdxCustomDockSite');
    tvClassView.Items.AddChild(ANode, 'TdxLayoutDockSite');
    ANode := tvClassView.Items.AddChild(ANode, 'TdxContainerDockSite');
    tvClassView.Items.AddChild(ANode, 'TdxTabContainerDockSite');
    ANode := tvClassView.Items.AddChild(ANode, 'TdxSideContainerDockSite');
    tvClassView.Items.AddChild(ANode, 'TdxHorizContainerDockSite');
    tvClassView.Items.AddChild(ANode, 'TdxVertContainerDockSite');
    tvClassView.Items.AddChild(tvClassView.Items[1], 'TdxFloatDockSite');
    tvClassView.Items.AddChild(tvClassView.Items[1], 'TdxDockSite');
    tvClassView.Items.AddChild(tvClassView.Items[0], 'TdxDockPanel');
    tvClassView.FullExpand;
  finally
    tvClassView.Items.EndUpdate;
  end;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonExitClick(Sender: TObject);
begin
  Close;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonStartPageClick(Sender: TObject);
begin
  if (dpStartPage = nil) then exit;
  if not dpStartPage.Visible then
    dpStartPage.Visible := True;
  dxDockingController.ActiveDockControl := dpStartPage;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonSolutionExplorerClick(Sender: TObject);
begin
  if (dpSolutionExplorer = nil) then exit;
  if not dpSolutionExplorer.Visible then
    dpSolutionExplorer.Visible := True;
  dxDockingController.ActiveDockControl := dpSolutionExplorer;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonClassViewClick(Sender: TObject);
begin
  if (dpClassView = nil) then exit;
  if not dpClassView.Visible then
    dpClassView.Visible := True;
  dxDockingController.ActiveDockControl := dpClassView;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonPropertiesClick(Sender: TObject);
begin
  if (dpProperties = nil) then exit;
  if not dpProperties.Visible then
    dpProperties.Visible := True;
  dxDockingController.ActiveDockControl := dpProperties;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonToolBoxClick(Sender: TObject);
begin
  if (dpToolbox = nil) then exit;
  if not dpToolbox.Visible then
    dpToolbox.Visible := True;
  dxDockingController.ActiveDockControl := dpToolbox;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonCallStackClick(Sender: TObject);
begin
  if (dpCallStack = nil) then exit;
  if not dpCallStack.Visible then
    dpCallStack.Visible := True;
  dxDockingController.ActiveDockControl := dpCallStack;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonOutputClick(Sender: TObject);
begin
  if (dpOutput = nil) then exit;
  if not dpOutput.Visible then
    dpOutput.Visible := True;
  dxDockingController.ActiveDockControl := dpOutput;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonWatchClick(Sender: TObject);
begin
  if (dpWatch = nil) then exit;
  if not dpWatch.Visible then
    dpWatch.Visible := True;
  dxDockingController.ActiveDockControl := dpWatch;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonFontClick(Sender: TObject);
begin
  FontDialog1.Font := dxDockingManager1.Font;
  if FontDialog1.Execute then
    dxDockingManager1.Font := FontDialog1.Font;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonColorClick(Sender: TObject);
begin
  ColorDialog1.Color := dxDockingManager1.Color;
  if ColorDialog1.Execute then
    dxDockingManager1.Color := ColorDialog1.Color;
end;

procedure TDockingMegaDemoMainForm.dxBarButtonStandardViewClick(Sender: TObject);
begin
  dxDockingManager1.ViewStyle := vsStandard;
  BarManager.Style := bmsStandard;

⌨️ 快捷键说明

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