事件 OnViewportPositionChange 判断滚动条位置,实现加载内容
procedure TForm2.Button1Click(Sender: TObject);
var
ListBoxItem:TListBoxItem;
A_Code:string;
begin
ListBox1.BeginUpdate;
ListBoxItem := TListBoxItem.Create(ListBox1);
ListBoxItem.Height := 30;
ListBoxItem.ItemData.Accessory := TListBoxItemData.TAccessory(1);
{
A_Code:='custID';
ListBox1.Items.AddObject('one',TObject(A_Code));
memo1.Text := string(listbox1.Items.Objects[1]);
方法1:
}
{
ListBoxItem.Text := '2017';
ListBox1.AddObject(ListBoxItem);
方法2;
}
{
ListBox1.Items.Add('2017');
方法3;
}
ListBox1.EndUpdate;
end;//上面3种方法都可以在ListBox控件中添加子项,感觉方法1有点麻烦;方法3简单直接;方法2够灵活,可以设置子项的其它属性,例如添加ico图标,设置高度等。
procedure TForm2.ListBox1ViewportPositionChange(Sender: TObject;
const OldViewportPosition, NewViewportPosition: TPointF;
const ContentSizeChanged: Boolean);
begin
memo1.Lines.Add(FloatToStr(NewViewportPosition.Y));
//NewViewportPosition 该参数可以获取滚动条当前位置;
//同理,OldViewportPosition,应该是过去的位置;
//通过该事件 OnViewportPositionChange 可以判断滚动条的位置,从而实现动态加载内容。
end;
procedure TForm2.ListBox1VScrollChange(Sender: TObject);
begin
memo1.Lines.Add('a'); //这个 OnVScrollChange 事件应该是纵向滚动条事件;
//还有一个 OnHScrollChange 这个应该是横向的。
end;
var ListBoxItem:TListBoxItem; begin ListBoxItem := lst1.ListItems[0]; //通过该代码可以获取到指定的子项,并修改子项的属性。 ListBoxItem.Height := 50; //第1个子项高度值设置为50; end;
附上相关学习资源:
delphi xe7 判断listbox滚动条到达底部,并加载数据
http://www.cnblogs.com/devcjq/articles/7434982.html
delphi中AddObject的使用方法
http://che19870620.blog.163.com/blog/static/87785840201010249364510/
Fmx判断ListBox显示到最下面一个文件(用来延迟加载)
http://blog.csdn.net/mywmy/article/details/61625193
Delphi XE5中TListBox的使用方法
http://www.cnblogs.com/azhe127/p/3446743.html //图文教程,比较全面;
怎么理解delphi的这句代码:listbox1.items.Objects[listbox1.ItemIndex]
https://zhidao.baidu.com/question/442156160.html
listbox1 items add是什么作用
http://wenda.tianya.cn/question/4f3fb326d5dbad68
XE7下修改FMX.Grid.pas解决Grid列头与文本内容的样式设定,实现标题栏文字居中,内容的文本可右对齐。
http://www.cnblogs.com/bigsong/p/3983405.html

浙公网安备 33010602011771号