我已实现了。
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listbox2.Items.Count-1 do
if listbox2.Selected[i] then
if i>0 then
listbox2.Items.exchange(i,i-1);
end;procedure TForm1.SpeedButton4Click(Sender: TObject);
var
i:integer;
begin
for i:=listbox2.Items.Count-1 downto 0 do
if listbox2.Selected[i] then
if i<listbox2.Items.Count-1 then
listbox2.Items.exchange(i,i+1);
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listbox2.Items.Count-1 do
if listbox2.Selected[i] then
if i>0 then
listbox2.Items.exchange(i,i-1);
end;procedure TForm1.SpeedButton4Click(Sender: TObject);
var
i:integer;
begin
for i:=listbox2.Items.Count-1 downto 0 do
if listbox2.Selected[i] then
if i<listbox2.Items.Count-1 then
listbox2.Items.exchange(i,i+1);
end;
var i:integer;
begin
i:=ListBox1.ItemIndex;
if (i<=0)or(i>ListBox1.Items.Count) then
begin
SpeedButton1.enabled:=false; Exit;
end;
ListBox1.Items.Exchange(i,i-1);
SpeedButton2.Enabled:=true;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
var i:integer;
begin
i:=ListBox1.ItemIndex;
if (i<0)or(i>=ListBox1.Items.Count-1) then
begin
SpeedButton2.Enabled:=false; Exit;
end;
ListBox1.Items.Exchange(i,i+1);
SpeedButton1.Enabled:=true;
end;