怎么将Treeview.Items.Item[i].data的值赋给一个record类型的变量啊? 小弟对指针的操作很茫然!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你写了一个demounit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type PTest = ^Test; Test = record id:Integer; end; TForm1 = class(TForm) TreeView1: TTreeView; procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var Node:TTreeNode; p:PTest;begin Node:=self.TreeView1.GetNodeAt(x,y); if Node = nil then exit; if Node.Data = nil then exit; p:=Node.Data; showmessage(IntToStr(p^.id));end;procedure TForm1.FormCreate(Sender: TObject);var p:PTest; Node:TTreeNode;begin Node:=TreeView1.Items.AddChild(nil,'123'); new(p); p^.id:=1; Node.Data:=p;end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);var IntI:Integer;begin for IntI:=TreeView1.Items.Count-1 downto 0 do begin Dispose( self.TreeView1.Items[IntI].Data ); end;end;end. 来晚了,楼上的写了很对,DATA是赋一个指针,应该是什么类型的都可以,何况是RECORD了,也就是把RECORD的指针赋给它就行了,不过最好在删除节点的时候把指针释放掉, 请问灰鸽子源码1.2免怎么杀过360?(谢谢各位了,本人第一次发帖) 排序问题 C函数在D中的调用 关于图片切割问题 请教一个SQL的问题 怎么控制一个窗体最大化大小? MD6书中例子问题 Document.Paragraphs.Add;出错 ServerSocket 与 ClientSocket 之间这么进行通讯? ksaiy来收分吧!你的程序我已收到了,就是我要的,你再把另一块发过来就好!多谢你! 求解一个报表的问题 string 类型变量跟着[ ]是什么意思? 问高手,如何快速得到某一字段所有值,并存入combobox中?
给你写了一个demounit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
PTest = ^Test;
Test = record
id:Integer;
end; TForm1 = class(TForm)
TreeView1: TTreeView;
procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Node:TTreeNode;
p:PTest;
begin
Node:=self.TreeView1.GetNodeAt(x,y);
if Node = nil then exit;
if Node.Data = nil then exit;
p:=Node.Data;
showmessage(IntToStr(p^.id));
end;procedure TForm1.FormCreate(Sender: TObject);
var
p:PTest;
Node:TTreeNode;
begin
Node:=TreeView1.Items.AddChild(nil,'123');
new(p);
p^.id:=1;
Node.Data:=p;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
IntI:Integer;
begin
for IntI:=TreeView1.Items.Count-1 downto 0 do
begin
Dispose( self.TreeView1.Items[IntI].Data );
end;
end;end.