object CheckListBox1: TCheckListBox
    Left = 0
    Top = 0
    Width = 468
    Height = 235
    Align = alClient
    ImeName = #20013#25991' - QQ'#20116#31508#36755#20837#27861
    ItemHeight = 13
    TabOrder = 1
  end
  
  CheckListBox1.Items.BeginUpdate; //开始
  while GVehicleList.EnumValue(Pointer(vehicle)) do
  begin
    CheckListBox1.Items.Add(vehicle.CommNo);
  end;
  CheckListBox1.Items.EndUpdate;
  
    CheckListBox1.CheckAll(cbChecked);//全选
  CheckListBox1.CheckAll(cbUnchecked);/反选
  
  if CheckListBox1.Checked[i] then //判断如果勾选 则取值
self.lstColumns.AddItem(col.Text,col); 
self.lstColumns.Items.Objects[i]);
procedure AddItem(Item: String; AObject: TObject); override; //有可以存 key value的 功能;
 
 
constructor TFrmShowHideColumn.Create(AOwner: TComponent;columns: TVirtualTreeColumns); //重写create 传对象进来
var
  col:TVirtualTreeColumn;
  i:Integer;
begin
  inherited Create(Owner);
  for I := 0 to columns.Count-1 do
  begin
    col:=columns[i];
    if(not (coVisible in col.Options)) then self.lstColumns.AddItem(col.Text,col);//键值对
  end;
end;
procedure AddItem(Item: String; AObject: TObject); override;
procedure TFrmShowHideColumn.btn1Click(Sender: TObject);
var
  col:TVirtualTreeColumn;
  i:integer;
begin
  for I := 0 to self.lstColumns.Items.Count-1 do
  begin
    col:=TVirtualTreeColumn(self.lstColumns.Items.Objects[i]);//取出对象
    if(self.lstColumns.Checked[i]) then //若勾选了,就显示
        col.Options:=Col.Options+[coVisible]
    else
       col.Options:=Col.Options-[coVisible]
    end;
  Self.Close;
end;