Как использовать несколько столбцов в TCheckListBox?

Я использую элемент управления TcheckListBox и хотел бы использовать для этого второй столбец, но, кроме свойств столбцов и заголовков, я не смог найти никакого источника для вставки содержимого нескольких столбцов...

Это может выглядеть как вопрос новичка, но в справке Delphi нет никакого содержания по этому поводу, и мои поиски (в Google и SO) принесли много мусора...

Мне просто нужен пример.


person Fabricio Araujo    schedule 10.02.2010    source источник
comment
@Fabricio, TChecklistbox имеет только один столбец данных, свойство столбцов просто используется для переноса элементов в другой столбец.   -  person RRUZ    schedule 10.02.2010
comment
Я буду следовать пути Listview, указанному ulrichb.   -  person Fabricio Araujo    schedule 10.02.2010


Ответы (2)


Это невозможно при использовании TCheckListBox.

Но вы можете использовать TListView.

Установите для свойства ViewStyle значение vsReport, а для свойства Checkboxes значение True.


Чтобы создать столбцы и добавить элементы:

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

person ulrichb    schedule 10.02.2010
comment
Хм... Интересная идея. Я изучу это завтра. - person Fabricio Araujo; 10.02.2010

Я могу ошибаться, но я думал, что столбцы предназначены для переноса, а не для форматирования.

eg,

Установите количество столбцов на 2. Добавьте 3 или 4 элемента. Измените размер поля по вертикали, и вы увидите, как элементы перемещаются по столбцам.

person Mark Robinson    schedule 10.02.2010
comment
Да, но он все равно обертывается, даже если вы этого не хотите. Я изменяю его размер по вертикали, и вместо вертикальной полосы прокрутки, которая имела бы смысл, я получаю глупую горизонтальную полосу прокрутки, хотя для столбцов установлено значение 1. Потенциально полезный компонент, выброшенный в мусорное ведро из-за плохого дизайна. - person Paul McCarthy; 29.06.2017