12

我正在使用 TcheckListBox 控件并希望在此使用第二列,但除了 Columns 和 Header 属性之外,我在插入多列内容时找不到任何来源...

它可能看起来像一个菜鸟问题,但 Delphi 的帮助没有任何内容,而且我的搜索(在 Google 和 SO 上)带来了很多垃圾......

我只需要一个例子。

4

2 回答 2

22

这是不可能的TCheckListBox

但是你可以使用TListView.

ViewStyle属性设置为vsReport和。CheckboxesTrue


要创建列并添加项目:

procedure TFormMain.Button1Click(Sender: TObject);
var
  Item1, Item2: TListItem;
begin
  ListView1.Columns.Add.Caption := 'aa';
  ListView1.Columns.Add.Caption := 'bb';

  Item1 := ListView1.Items.Add;
  Item1.Caption := 'item1';
  Item1.SubItems.Add('subitem1');

  Item2 := ListView1.Items.Add;
  Item2.Caption := 'item2';
  Item2.SubItems.Add('subitem2');
  Item2.Checked := True;
end;


好像:

带有复选框的列表视图 http://img638.imageshack.us/img638/4681/clipboard01y.png

于 2010-02-10T16:24:30.960 回答
9

我可能是错的,但我认为这些列是用于包装而不是用于格式化目的。

例如,

将列数设置为 2 添加 3 或 4 个项目 垂直调整框的大小,您将看到项目流以填充列

于 2010-02-10T16:25:54.473 回答