zoukankan      html  css  js  c++  java
  • Delphi XE2 之 FireMonkey 入门(41) 控件基础: TListBox


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

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

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

    { TCustomListBox }
    public
      constructor 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 }
    published
      property StyleLookup;              //
      property AllowDrag;                //是否允许拖放
      property CanFocus;                 //
      property DisableFocusEffect;       //
      property TabOrder;                 //
      property AlternatingRowBackground; //是否使用交替背景
      property Columns;                  //列数; 默认 1
      property HideSelectionUnfocused;   //在失去焦点时是否隐藏选择
      property Items;                    //
      property ItemIndex;                //
      property ItemWidth;                //项宽
      property ItemHeight;               //项高
      property ListStyle;                //列表样式; TListStyle = (lsVertical, lsHorizontal);
      property MultiSelect;              //是否允许多选; 为 True 时, 配合 Ctrl 键多选
      property Sorted;                   //
      property ShowCheckboxes;           //是否显示复选框; 默认 False
      property BindingSource;            //绑定源
      property OnChange;                 //有变化时
      property OnChangeCheck;            //调整复选框时
      property OnCompare;                //排序比较时
      property OnDragChange;             //拖放项时
    end;
    
    { TListBoxItem }
    public
      constructor Create(...); override; //
      property Data: TObject ...;        //
      property Index: Integer ...;       //
    published
      property IsChecked: Boolean ...;   //复选值
      property IsSelected: Boolean ...;  //
      property AutoTranslate ...;        //
      property Font;                     //
      property StyleLookup;              //
      property Text;                     //
      property TextAlign ...;            //
      property WordWrap;                 //
    end;
    


    测试:

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

  • 相关阅读:
    mysql之SQL入门与提升(一)
    数据库的主键和外键
    mysql项目实战经验
    浅谈设计模式
    记录下sparkStream的做法(scala)
    hive-hbase-handler方式导入hive表数据到hbase表中
    订单风险系统BI
    关于maven 把插件依赖一起打包进jar问题
    一些hbase的shell查询语句
    关于hive表同步类型问题
  • 原文地址:https://www.cnblogs.com/del/p/2202181.html
Copyright © 2011-2022 走看看