indextreeview.pas
来自「Delphi利用MVC开发的典型例子」· PAS 代码 · 共 71 行
PAS
71 行
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 + =
减小字号Ctrl + -
显示快捷键?