TListView的問題 |
尚未結案
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
請問TListView 裏的 TListItem.data 怎樣用?
它是可以指向任何type 是pointer 的東西....但我怎可拿裏面的值
例如:
type TUserInfo=record age:integer; remark:String; end; ...... procedure TForm1.Button1Click(Sender: TObject); var LstItem:TListItem; PUserInfo:^TUserInfo; UserInfo:array [0..1] of TUserInfo; UserOne:=TUserInfo; begin PUserInfo:=@lUserInfo; Lstvw.ViewStyle:=vsReport; LstVw.Columns[0].Caption:='First Name'; LstVw.Columns[1].Caption:='Last Name'; LstVw.Columns[2].Caption:='Full Name'; LstItem:=LstVw.Items.Add; LstItem.Caption:='Tom'; LstItem.SubItems.Add('Chan'); LstItem.SubItems.Add('Tom Chan'); UserInfo[0].age:=21; UserInfo[0].remark :='He is a Man'; LstItem.Data:=PUserInfo; Showmessage(LstItem.Data); //問題在此,我怎可透過LstItem.Data拿裏的remark值 LstItem:=LstVw.Items.Add; LstItem.Caption:='Mary'; LstItem.SubItems.Add('Lam'); LstItem.SubItems.Add('Mary Lam'); end; |
mustapha.wang
資深會員 發表:89 回覆:409 積分:274 註冊:2002-03-13 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
type PUserInfo=^TUserInfo; TUserInfo=record age:integer; remark:String; end; procedure TForm1.Button3Click(Sender: TObject); var LstItem :TListItem; PUserOne :PUserInfo ; begin Lstvw.ViewStyle:=vsReport; LstVw.Columns[0].Caption:='First Name'; LstVw.Columns[1].Caption:='Last Name'; LstVw.Columns[2].Caption:='Full Name'; LstItem:=LstVw.Items.Add; LstItem.Caption:='Tom'; LstItem.SubItems.Add('Chan'); LstItem.SubItems.Add('Tom Chan'); PUserOne := New(PUserInfo); PUserOne.age:=21; PUserOne.remark :='He is a Man'; LstItem.Data:=PUserOne; Showmessage(PUserInfo(LstItem.Data).Remark); //問題在此,我怎可透過LstItem.Data拿裏的remark值 LstItem:=LstVw.Items.Add; LstItem.Caption:='Mary'; LstItem.SubItems.Add('Lam'); LstItem.SubItems.Add('Mary Lam'); PUserOne := New(PUserInfo); PUserOne.age:=24; PUserOne.remark :='He is a FeMan'; LstItem.Data:=PUserOne; end; |
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
type TUserInfo=record age:integer; remark:String; end; ...... procedure TForm1.Button1Click(Sender: TObject); var LstItem:TListItem; PUserInfo:^TUserInfo; UserInfo:array [0..1] of TUserInfo; UserOne:=TUserInfo; begin PUserInfo:=@UserInfo; Lstvw.ViewStyle:=vsReport; LstVw.Columns[0].Caption:='First Name'; LstVw.Columns[1].Caption:='Last Name'; LstVw.Columns[2].Caption:='Full Name'; LstItem:=LstVw.Items.Add; LstItem.Caption:='Tom'; LstItem.SubItems.Add('Chan'); LstItem.SubItems.Add('Tom Chan'); UserInfo[0].age:=21; UserInfo[0].remark :='He is a Man'; LstItem.Data:=PUserInfo; Showmessage(LstItem.Data); //問題在此,我怎可透過LstItem.Data拿裏的remark值 LstItem:=LstVw.Items.Add; LstItem.Caption:='Mary'; LstItem.SubItems.Add('Lam'); LstItem.SubItems.Add('Mary Lam'); UserInfo[1].age:=18; UserInfo[1].remark :='She is a Woman'; end;多謝Chance36 和 mustapha.wang。Chance36 你的coding正確,可拿到pointer裏的值,但我的意思是這樣的: 我原本的意思是想當如果選取ListView裏的第一個item時,就可取到array UserInfo[0].remark裏的值('He is a Man'),選取ListView裏的第二個item時,就可取到array UserInfo[1].remark裏的值('She is a Woman')...如此類推... 所以我才用listItem.Data的pointer去指住UserInfo... 我的問題就是問,如何拿到pointer所指住的array[1....n]的remark 值 發表人 - superlowb 於 2004/03/06 12:21:29 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |