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

📄 indextreeview.pas

📁 Delphi利用MVC开发的典型例子
💻 PAS
字号:
unit IndexTreeView;

// This code was generated by the EasyMVC OTA Wizard
// www.eazisoft.com

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, StdCtrls, ComCtrls, ExtCtrls, Forms, patterns, Menus, ImgList;

type
  TViewIndexTree = class(TFRAME, IObserver)
    tv: TTreeView;
    PopupMenu1: TPopupMenu;
    Refresh1: TMenuItem;
    Property1: TMenuItem;
    ImageList1: TImageList;
  private
    { Private declarations }
    procedure UpdateView(o: TObject); //from IObserver
  public
    { Public declarations }
    procedure setEventHandler(AEventhandler: TNotifyEvent);
  end;

implementation
uses indexDef;

{$R *.dfm}

procedure TViewIndexTree.UpdateView(o: TObject);
  procedure AddNode(AParent: TTreeNode; ANode: TCommand);
  var
    pnode: TTreeNode;
    p: PIndexNode;
    i: integer;
  begin
    if not assigned(ANode) then
      exit;
    p := ANode.getParamRecord;

    pnode := tv.items.AddChild(AParent, p.name);
    pNode.Data := p;
    pnode.ImageIndex := p.ImageIndex;
    pnode.SelectedIndex := p.ImageIndex;
    for i := 0 to Anode.getChildCount - 1 do
    begin
      AddNode(pNode, ANode.getChildAt(i) as TCommand);
    end;
  end;
begin
  {write your code here}
  if o is TCommand then
  begin
    tv.Items.Clear;
    AddNode(nil, TCommand(o));
  end;
end;

procedure TViewIndexTree.setEventHandler(AEventhandler: TNotifyEvent);
var
  i: integer;
begin
  for i := 0 to PopupMenu1.Items.Count - 1 do
    PopupMenu1.Items[i].OnClick := AEventHandler;
  tv.OnClick := AEventHandler;
end;

end.

⌨️ 快捷键说明

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