首页 > 其他分享 >使用TVertScrollbox自定义列表数据

使用TVertScrollbox自定义列表数据

时间:2024-01-14 20:11:06浏览次数:27  
标签:控件 layout 自定义 列表 YY 设置 VertScrollBox1 end TVertScrollbox

界面布局设置如下

创建一个过程添加新项目

procedure TForm1.AddItem(name: string; age: Integer);
var
  layout: TLayout;
begin
  // 设置姓名标签的文本
  Label3.Text := name;
  // 设置年龄标签的文本
  Label4.Text := IntToStr(age);

  // 克隆 Layout1,并将克隆得到的对象赋值给 layout 变量
  layout := TLayout(Layout1.Clone(VertScrollBox1));

  // 设置布局控件的宽度为 VertScrollBox1 的宽度减去 32
  layout.Width := VertScrollBox1.Width - 32;
  // 设置布局控件在垂直滚动框内的水平位置为 16
  layout.Position.X := 16;
  // 设置布局控件在垂直滚动框内的垂直位置为 YY(YY 是一个变量,代表当前布局控件的垂直位置)
  layout.Position.Y := YY;

  //重新设置下一个控件的纵向坐标
  YY := YY + layout.Height + 12;

  // 将布局控件设置为可见
  layout.Visible := True;

  // 将布局控件添加到垂直滚动框中
  VertScrollBox1.AddObject(layout);
end;

新建窗体的时候设置下默认值

procedure TForm1.FormCreate(Sender: TObject);
begin
  Layout1.Visible := False;
  YY := 0;
end;

按钮点击的时候添加新Item

procedure TForm1.Button1Click(Sender: TObject);
begin
  VertScrollBox1.Content.DeleteChildren;
  YY := 12;
  for var i := 0 to 30 do
  begin
    AddItem('zhangsan-' + IntToStr(i), Random(100));
  end;
end;

运行在win用鼠标可以滚动,安卓可以用手上下滑动显示内容

 

标签:控件,layout,自定义,列表,YY,设置,VertScrollBox1,end,TVertScrollbox
From: https://www.cnblogs.com/liessay/p/17964126

相关文章

  • AnimatedList 实现动态列表
    AnimatedList实现动画  AnimatedList和ListView的功能大体相似,不同的是,AnimatedList可以在列表中插入或删除节点时执行一个动画,在需要添加或删除列表项的场景中会提高用户体验。 AnimatedList是一个StatefulWidget,它对应的State类型为AnimatedListState,添加和删......
  • SparkSQL 自定义聚合函数[强类型]
    本文的前提条件:SparkSQLinJava参考地址:UserDefinedAggregateFunctions(UDAFs)1.自定义实体类packagecn.coreqi.entity;importjava.io.Serializable;publicclassAverageimplementsSerializable{privatelongtotal;privatelongcount;publi......
  • SparkSQL 自定义聚合函数[弱类型]
    本文的前提条件:SparkSQLinJava代码如下1.自定义聚合函数packagecn.coreqi.udaf;importorg.apache.spark.sql.Row;importorg.apache.spark.sql.expressions.MutableAggregationBuffer;importorg.apache.spark.sql.expressions.UserDefinedAggregateFunction;import......
  • SparkSQL 自定义函数
    本文的前提条件:SparkSQLinJava参考地址:ScalarUserDefinedFunctions(UDFs)完整代码packagecn.coreqi;importstaticorg.apache.spark.sql.functions.udf;importorg.apache.spark.SparkConf;importorg.apache.spark.sql.*;importorg.apache.spark.sql.expres......
  • Jmeter参数化-用户自定义变量
    一 首先我们先来了解下jmeter做参数化的目的:1通过参数化来集中管理配置和测试数据2通过参数化实现数据驱动测试 二线程组添加配置元件中的用户自定义变量 添加变量名称,变量值三使用变量:通过名称来进行引用 四用户定义变量的好处?jmeter中变量都是......
  • 基于VueCli自定义创建项目
    前面学习的一些router封装,相关文件夹的创建,现在可以通过脚手架自动创建,简化了很多步骤1,使用shell命令选择项目目录vuecreatexx-project步骤2,  步骤3  路由模式默认是hash模式,history模式需要服务器端相关配置支持,这里选n,后面有需要可以在配置文件改......
  • .NET中的加密算法总结(自定义加密Helper类续)
    .NET中的加密算法总结(自定义加密Helper类续) 1.1.1摘要       相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等)。我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很......
  • 自定义jQuery插件Step by Step
    自定义jQuery插件StepbyStep 1.1.1摘要随着前端和后端技术的分离,各大互联网公司对于MobileFirst理念都是趋之若鹜的,为了解决网页在不同移动设备上的显示效果,其中一个解决方案就是ResponsiveDesign;但我们今天不是介绍它,正由于前端开发已经十分重要了,所以我们将介绍如何......
  • python经典有序序列的list列表推导式
    生成一个数据列表#初始化一个列表list_1=[]#使用循环生成一个列表数据forvalinrange(0,20,1):#加入集合list_1.append(val)#打印列表数据print(list_1)#[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]使用列表推导式生......
  • 【flink番外篇】9、Flink Table API 支持的操作示例(7)- 表的join操作(内联接、外联接以
    文章目录Flink系列文章一、maven依赖二、示例:表的join操作(内联接、外联接以及联接自定义函数等)本文介绍了表的join主要操作,比如内联接、外联接以及联接自定义函数等。本文除了maven依赖外,没有其他依赖。一、maven依赖本文maven依赖参考文章:【flink番外篇】9、FlinkTableAPI支......