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

📄 mainfrm.~pas

📁 Delphi插件程序示例
💻 ~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 + -