📄 mainfrm.~pas
字号:
unit MainFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, ToolWin;
type
TMainForm = class(TForm)
PnlTitle: TPanel;
ToolBar1: TToolBar;
PnlLeft: TPanel;
slMain: TSplitter;
PnlRight: TPanel;
lvMain: TListView;
tvMain: TTreeView;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Init_tvMain();
procedure tvMainClick(Sender: TObject);
procedure lvMainDblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
uses
Global;
{$R *.dfm}
procedure TMainForm.FormCreate(Sender: TObject);
begin
LoadPlugIns(); //装载插件
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
MainForm.Init_tvMain; //初始化TreeView
end;
procedure TMainForm.Init_tvMain;
var
i,j: integer;
tempNode: TTreeNode;
begin
for i:=0 to lstPlugIn.Count-1 do //lstPlugIn里面存的是所有的插件
begin
PlugIn := lstPlugIn.Items[i];
j := 0;
tvMain.Items.BeginUpdate;
tempNode := tvMain.TopItem;
while (j<tvMain.Items.Count) and (tvMain.Items.Item[j].Text<>PlugIn.Node) do
begin
inc(j);
end;
if j<tvMain.Items.Count then
begin
tempNode := tvMain.Items.Item[j];
end;
tvMain.Items.AddChild(tempNode,PlugIn.Node);
tvMain.Items.EndUpdate;
end;
end;
procedure TMainForm.tvMainClick(Sender: TObject);
var
Node: string;
i: integer;
begin
lvMain.Clear;
if tvMain.Selected.HasChildren then exit;
Node := tvMain.Selected.Text;
for i:=0 to lstPlugIn.Count-1 do
begin
PlugIn := lstPlugIn.Items[i];
if PlugIn.Node=Node then
with lvMain.Items.Add do
begin
Caption := PlugIn.PlugInName;
SubItems.Add(PlugIn.Describe);
SubItems.Add(PlugIn.PlugInFile);
end;
end;
end;
procedure TMainForm.lvMainDblClick(Sender: TObject);
begin
RunPlugIn(lvMain.Items.Item[lvMain.Selected.Index].SubItems[1]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -