listbox中的多文件操作(0分)

  • 主题发起人 主题发起人 xu_zhenwen
  • 开始时间 开始时间
X

xu_zhenwen

Unregistered / Unconfirmed
GUEST, unregistred user!
我用listbox把我选择的多个文件删除的时候,不能删除全部的被选择的文件,我的listbox
的multiselete is true,而且extendedselete is true.我还想实现listbox中items的位置的
调整,怎么实现????谢谢!!!!!
 
procedure TForm1.N1Click(Sender: TObject);
var
x,i:integer;
begin

i:=0;
x:=listbox1.items.count-1;
while i<=xdo

begin

if Listbox1.selected then

begin

Listbox1.Items.Delete(i);
dec(x);
end
else

inc(i);
end;

end;
 
这样最好,不会有什么问题!只要multiselect:true
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin

for i:=0 to listbox1.Items.Count-1do

if Listbox1.selected[listbox1.itemindex] then

begin

Listbox1.Items.Delete(listbox1.itemindex);
end;

end;


位置的调整要用listbox的dragover事件
 
從后往前刪,不能從前往后刪,否則位置改變了。
procedure TForm1.N1Click(Sender: TObject);
var
x:integer;
begin

x:=listbox1.items.count-1;
while x>=0do

begin

if Listbox1.selected[x] then

Listbox1.Items.Delete(x);
dec(x);
end;

end;

 
可以重复删除N次自第一个被选择的行,N为选取的行的个数
 
后退
顶部