怎么理解delphi的这句代码:listbox1.items.Objects[listbox1.ItemIndex]

procedureTForm1.ListBox1Click(Sender:TObject);vari:integer;beginedit1.Text:=listbox1.... procedure TForm1.ListBox1Click(Sender: TObject);
var
i:integer;
begin
edit1.Text :=listbox1.items[listbox1.ItemIndex];
i :=integer(listbox1.items.Objects[listbox1.ItemIndex]);//
edit2.Text :=inttostr(i);
end;
点击列表框中的不同项目时 edit2一直显示0.
integer(listbox1.items.Objects[listbox1.ItemIndex])是什么?
展开
 我来答
百度网友09d4ae1
2012-06-29 · TA获得超过267个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:202万
展开全部
listbox 本身会维护一个object列,你用AddObject添加元素时就会和元素一一对应一个object对象,举个例子你就明白了。

listbox1.Items.AddObject('one',TObject(1));
listbox1.Items.AddObject('two',TObject(2));
listbox1.Items.AddObject('three',TObject(3));
integer(listbox1.items.Objects[0]) //1
integer(listbox1.items.Objects[1]) //2
integer(listbox1.items.Objects[2]) //3

你的一直显示0说明没用addobject添加,用的是add方法,对应的object默认为nil,转为integer自然就是0了
bfmbfmbfm
2012-06-24 · 超过24用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:73.8万
展开全部
ListBox1.Item[I] 是一个TStrings对象,该对象提供一个TStrings.AddObject的方法
申明如下
function AddObject(const S: string; AObject: TObject): Integer; virtual;
参数为一个字符串,和对应的TObject指针
TStrings类本身自己维护一个TObject的数组
多看看VCL的源码就明白了
追问
注意:我问的不是AddObject()方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式