TScrollBox -> TCustomListBox -> TListBox; 其元素项是 TListBoxItem 类型.

TListBox 的功能在 TCustomListBox 里就完成了.

值得注意的变化是:
1、复选框(相关属性: ShowCheckboxes、TListBoxItem.IsChecked)
2、交替背景(通过继承还可以调整交替的背景色)
3、TListBoxItem 可调整大小、容纳其它对象.


{ TCustomListBox }
publicconstructor Create(...); override;          //destructor Destroy; override;               //procedure Assign(...); override;            //procedure Clear; virtual;                   //清空function DragChange(...): Boolean; dynamic; //调用 OnDragChange 事件procedure SelectAll;                        //全选procedure ClearSelection;                   //取消选择procedure SelectRange(...);                 //选择指定范围function ItemByPoint(...): TListBoxItem;    //获取指定位置的项function ItemByIndex(...): TListBoxItem;    //获取指定序号的项procedure Exchange(...);                    //交换项procedure AddObject(...); override;         //添加项procedure RemoveObject(...); override;      //删除项procedure Sort(...); override;              //排序property Count: Integer ...;                //项总数property Selected: TListBoxItem ...;        //当前选择的项property Items: TStrings ...;               //元素文本的集合property ListItems[Index: Integer]: TListBoxItem ...; //根据索引获取项property ItemIndex: Integer ...;                      //索引
end;{ TListBox }
publishedproperty StyleLookup;              //property AllowDrag;                //是否允许拖放property CanFocus;                 //property DisableFocusEffect;       //property TabOrder;                 //property AlternatingRowBackground; //是否使用交替背景property Columns;                  //列数; 默认 1property HideSelectionUnfocused;   //在失去焦点时是否隐藏选择property Items;                    //property ItemIndex;                //property ItemWidth;                //项宽property ItemHeight;               //项高property ListStyle;                //列表样式; TListStyle = (lsVertical, lsHorizontal);property MultiSelect;              //是否允许多选; 为 True 时, 配合 Ctrl 键多选property Sorted;                   //property ShowCheckboxes;           //是否显示复选框; 默认 Falseproperty BindingSource;            //绑定源property OnChange;                 //有变化时property OnChangeCheck;            //调整复选框时property OnCompare;                //排序比较时property OnDragChange;             //拖放项时
end;{ TListBoxItem }
publicconstructor Create(...); override; //property Data: TObject ...;        //property Index: Integer ...;       //
publishedproperty IsChecked: Boolean ...;   //复选值property IsSelected: Boolean ...;  //property AutoTranslate ...;        //property Font;                     //property StyleLookup;              //property Text;                     //property TextAlign ...;            //property WordWrap;                 //
end;


测试:


procedure TForm1.FormCreate(Sender: TObject);
vari: Integer;
beginListBox1.Align := TAlignLayout.alLeft;ListBox1.ShowCheckboxes := True;ListBox1.AlternatingRowBackground := True;for i := 0 to 9 dobeginListBox1.Items.Add('Itme' + IntToStr(i));ListBox1.ListItems[i].IsChecked := Odd(i);end;
end;

转载于:https://www.cnblogs.com/del/archive/2011/10/08/2202181.html

Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox相关推荐

  1. Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它

    Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它 TFmxObject 增加了 TagObject.TagFloat.TagString, 算 ...

  2. Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览

    { TControl } publicconstructor Create(...); override; //destructor Destroy; override; //procedure Ad ...

  3. Delphi XE2 之 FireMonkey 入门(1)

    Delphi XE2 的 FireMonkey 是跨平台的, 暂时只准备看看它在 Windows 下(我是 32 位 Win7)的应用情况. 很新的东西, 相信有了它, 以后的界面将会更灵活.漂亮, ...

  4. Delphi XE2 之 FireMonkey 入门(2)

    FireMonkey 的控件都是自己绘制的(而不是基于系统组件), 我想它们应该是基于一些基本图形; 就从基本图形开始吧. FMX.Objects 单元给出的类: TShape //基本图形的基类 T ...

  5. Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)

    我觉得叫 "皮肤" 不如叫 "样式" 或 "风格", 因为它可以包含和动作关联的动画. 在 FMX 下, 控件可以任意绘制, 各部件个性化的 ...

  6. Delphi XE2 之 FireMonkey 入门(23) - 数据绑定: TBindingsList: TBindExpression

    准备用 TBindingsList 重做上一个例子. 可以先把 TBindingsList 理解为是一组绑定表达式(TBindExpression)的集合; 官方应该是提倡在设计时完成 TBindEx ...

  7. Delphi XE2 之 FireMonkey 入门(18) - TLang(多语言切换的实现)

    一个小小的 TLang 类, 实现多语言切换, 挺好的. 它的工作思路是: 1.首先通过 AddLang('语言代码') 添加语言类别, 如: AddLang('en').AddLang('cn'). ...

  8. Delphi XE2 之 FireMonkey 入门(26) - 数据绑定: TBindingsList: TBindExprItems

    如果要给一对 "源控件" 和 "目标控件" 写多个表达式, 使用 TBindExpression 就不如 TBindExprItems 了. TBindExpr ...

  9. Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库

    为什么80%的码农都做不了架构师?>>>    一.全设计时操作: 先在窗体上放置控件: DataSource1 : TDataSource; ClientDataSet1 : TC ...

最新文章

  1. 魅族手机使用鸿蒙系统,魅族宣布接入华为鸿蒙系统,这应该是黄章最正确的决定...
  2. springboot多模块打包指定子模块环境配置文件
  3. Nature封面:只低一毫米,时间也会变慢!叶军团队首次在毫米尺度验证广义相对论...
  4. es6学习 -- 解构赋值
  5. python3.4安装suds
  6. yum 下载软件的存放位置
  7. NUMA架构的CPU -- 你真的用好了么?
  8. 2020年全国儿童青少年总体近视率为52.7%,比上年上升2.5%播
  9. C++ 添加程序图标到我的电脑
  10. 一个简单的PHP购物车系统
  11. OpenCV编程-无法解析的外部符号 void __cdecl cv::cvtColor
  12. [再学Python] - 1 - 数据类型
  13. 【数字图像处理matlab】sobel、prewitt算子图像锐化
  14. redis的消息发布(publish)/ 订阅(subscribe)
  15. Milk Measurement
  16. 长尾理论读书笔记:第一章 长尾市场
  17. 《西西弗神话》读后感
  18. MIT诺奖大牛2万字雄文:记忆的本质
  19. android 连接商米POSV1内置打印机
  20. 关于拉曼光谱知识的疑难解答

热门文章

  1. 仅需6道题轻松掌握SciPy空间计算基础 | Python技能树征题
  2. jsp面试问题_JSP面试问答
  3. amqp rabbitmq_Spring AMQP RabbitMQ示例
  4. primefaces_Primefaces选项卡,TabMenu,TabView,TagCloud
  5. Akka的Actor层级结构《seven》译
  6. 适配器模式的极简概述
  7. 第二单元总结——多线程设计
  8. Spring Cloud Consul
  9. 玩转python字典与列表(下)
  10. 婚纱摄影五大标杆品牌告诉你,客资转化居然可以这么玩?