📄 explorerfrm.pas
字号:
unit ExplorerFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, Buttons, Un_TreeMenu, Un_Actions;
type
TExplorer = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Splitter1: TSplitter;
ScrollBox1: TScrollBox;
ScrollBox2: TScrollBox;
TreeView1: TTreeView;
ListView1: TListView;
Panel3: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure ListView1DblClick(Sender: TObject);
procedure ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
FMyTreeMenu: TMyTreeMenu;
FActionPermission: TActionPermission;
procedure Execute;
procedure DoRun(Data: TNodeData);
public
{ Public declarations }
class function Instance: TExplorer;
end;
implementation
uses
Un_Functions, Un_System, Publics;
{$R *.dfm}
var
AExplorer: TExplorer;
class function TExplorer.Instance: TExplorer;
begin
if AExplorer=nil then begin
AExplorer:=TExplorer.Create(Application);
AExplorer.Left:=0;
AExplorer.Top:=0;
AExplorer.WindowState:=wsMaximized;
end;
Result:= AExplorer;
end;
procedure TExplorer.FormCreate(Sender: TObject);
begin
FMyTreeMenu:= TMyTreeMenu.Create(TreeView1);
FMyTreeMenu.MakeTree(TAppSystemInfo.Instance.UId);
FActionPermission:= TActionPermission.Create;
ActionPermission:= FActionPermission;
end;
procedure TExplorer.FormDestroy(Sender: TObject);
begin
FMyTreeMenu.FreeTree;
FMyTreeMenu.Free;
ActionPermission:= nil;
//FActionPermission.Free;
end;
procedure TExplorer.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
FMyTreeMenu.ShowCurrentNodeChilds(ListView1);
end;
procedure TExplorer.ListView1DblClick(Sender: TObject);
begin
Execute;
end;
procedure TExplorer.Execute;
var
NodeData: TNodeData;
Node: TTreeNode;
begin
if ListView1.SelCount<>1 then Exit;
NodeData:= TNodeData(ListView1.Selected.Data);
if NodeData.IsFunction then begin
DoRun(NodeData);
end
else begin
Node:= NodeData.ThisNode;
Node.Expand(False);
FMyTreeMenu.Selected:= Node;
end;
end;
procedure TExplorer.DoRun(Data: TNodeData);
begin
FActionPermission.LoadActions(TAppSystemInfo.Instance.IsSA,
TAppSystemInfo.Instance.UId,
Data.Id);
TSytemFunction.Run(Data.FunctionStr)
end;
procedure TExplorer.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_Return then
Execute;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -