如何为TTreeNode 指定一个integer值? |
答題得分者是:sos_admin
|
todayZhang
一般會員 發表:9 回覆:14 積分:4 註冊:2003-05-19 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
可以通过使用class重新增加TTreeNode的属性,比如增加了个特text的string类型的属性;这样您就可以使用了!供参考!
//新的TTreeNode〉〉TmyTreeNode
unit Unit2; interface
uses ComCtrls;
type
TmyTreeNode=class(TTreeNode)
private
mytext:string;
procedure settext(value:string);
public
property text: string read mytext write Settext;
constructor Create(aowner:ttreenodes); end;
implementation constructor TmyTreeNode.Create(aowner:ttreenodes);
begin mytext:='';
inherited create(aowner);
end; procedure TmyTreeNode.settext(value:string);
begin
mytext:=value;
end; end. //使用
uses Unit2;
--------------------------
var
aa:TmyTreeNode; begin
aa:=TmyTreeNode.Create(nil);
aa.text:='aa';
showmessage(aa.text); end;
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
此處 Delphi7和Delphi6並無差異
TTreenode.data為一pointer, pointer其實只是一個integer占有4byte
故存integer在其內不須配置或Release Memory, 只要適度轉型(Cast) 例:
for i:=0 to Treeview1.items.count-1 do Treeview1.items[i].data:=pointer(i); //將i 塞入data中 於Treeview1Click if Treeview1.selected <> nil then showmessage(inttostr(integer(Treeview1.selected.data)));[NOTE]其實,實數的Single也是4byte, 故適度轉型一樣可直接放入 若要塞入其他資料型態就要進行記憶體配置及釋放了 |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
todayZhang
一般會員 發表:9 回覆:14 積分:4 註冊:2003-05-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |