在Delphi中checklistbox中高亮选中(不论是否Checked)能够进行操作么?删除,上下移动等等
删除:CheckListBox.DeleteSelected;
上下移: CheckListBox.Items.Move
删除用
CheckListBox1.Items.Delete(Index);
上下移动用
CheckListBox1.Items.Move(CurrentIndex,NewIndex);
//在项目中添加字符串(子项目的最后一位接着添加)
CheckListBox1.Items.Add(edit1.Text);
//全选 高亮选中Selected
CheckListBox1.MultiSelect := True;
CheckListBox1.SelectAll;
//全选 Checked All
procedure TForm1.Button11Click(Sender: TObject);
var i :integer;
begin
for i := 0 to CheckListBox1.Items.Count - 1 do
begin
CheckListBox1.Checked[i] := True;//反选设置为False
end;
end;
//让第n行被高亮选中
CheckListBox1.Selected[1]:=true;//第2行
//取消高亮选中
CheckListBox1.ClearSelection;
//第3行的项目灰色不可用
CheckListBox1.ItemEnabled[2] := False;//True可用
//删除高亮选中的项目,(只管高亮选中就会被删除,和checked是否无关)
CheckListBox1.DeleteSelected;//删除选中项目,即使该给项目 没勾上也会被删除
//删除已勾选的中项目
procedure TForm1.Button5Click(Sender: TObject);
var i : integer;
begin
for i := CheckListBox1.Items.Count-1 downto 0 do //从后面往前面删
begin
if CheckListBox1.Checked[i] then
begin
CheckListBox1.Items.Delete(i);
end;
end;
end;
//清空项目
CheckListBox1.Items.Clear;
//将CheckListBox1的全部添加到CheckListBox2的Items中
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
CheckListBox2.Items.Clear;
for i := CheckListBox1.Items.Count - 1 downto 0 do
begin
CheckListBox2.Items.Add(CheckListBox1.Items[i]);
end;
end;
var
i:Integer;
begin
CheckListBox2.Items.Clear;
for i := CheckListBox1.Items.Count - 1 downto 0 do
begin
CheckListBox2.Items.Add(CheckListBox1.Items[i]);
end;
end;
来源:https://www.cnblogs.com/mingdep/archive/2012/03/20/2408282.html