5,388
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
N: TTreeNode;
P: Pointer;
begin
for I := 1 to 20 do begin
N := Self.TreeView1.Items.Add(nil, '节点'+InttoStr(I));
with TEdit.Create(Self) do begin
asm
mov P, eax;
end;
Width := 50;
Height := 14;
Left := 30;
Top := 20*I;
Parent := Self;
Visible := False;
N.Data := P;
end;
end;
Self.TreeView1.FullExpand;
end;
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
R: TRect;
begin
//if (Node <> nil) then begin
R := Node.DisplayRect(True);
with TEdit(Node.Data) do begin
Visible := Node.IsVisible;
Left := R.Left + Sender.Left;
Top := R.Top + Sender.Top;
Text := Node.Text;
end;
//end;
end;
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
R: TRect;
begin
with Sender do
if Selected <> nil then
if Node = Selected then begin
R := Node.DisplayRect(True);
Self.edt1.Left := R.Left+Left;
Self.edt1.Top := R.Top+Top;
end;
end;