Czy można programowo poruszać się po ListView, tzn np. czy istnieje coś typu NEXT, LAST itd--roberto
Witam
Zabardzo nie wiem o co Ci chodzi ale moze o to
procedure TForm1.UPClick(Sender: TObject);
var
Item : TListItem;
i : Integer;
begin
if ListView1.SelCount > 0 then
begin
i := ListView1.Selected.Index;
Item := ListView1.Selected;
if i=0 then begin
ListView1.SetFocus;
ListView1.Selected := ListView1.Items[i];
ListView1.Scroll(0, (ListView1.Items[i].Top) - 100);
end;
if i <> 0 then
begin
ListView1.Items.Insert(ListView1.Items.Count);
ListView1.Items[ListView1.Items.Count-1] := ListView1.Items[i];
ListView1.Items[i] := ListView1.Items[i-1];
ListView1.Items[i-1] := ListView1.Items[ListView1.Items.Count-1];
ListView1.Items.Delete(ListView1.Items.Count-1);
ListView1.SetFocus;
ListView1.Selected := ListView1.Items[i-1];
ListView1.Scroll(0, (ListView1.Items[i].Top) - 100);
end;
end;
end;
procedure TForm1.DOWNClick(Sender: TObject);
var
Item : TListItem;
i : Integer;
begin
if ListView1.SelCount > 0 then
begin
i := ListView1.Selected.Index;
Item := ListView1.Selected;
if i=(ListView1.Items.Count-1) then begin
ListView1.SetFocus;
ListView1.Selected := ListView1.Items[i];
ListView1.Scroll(0, (ListView1.Items[i].Top) - 100);
end;
if i <> ListView1.Items.Count -1 then
begin
ListView1.Items.Insert(ListView1.Items.Count);
ListView1.Items[ListView1.Items.Count-1] := ListView1.Items[i];
ListView1.Items[i] := ListView1.Items[i+1];
ListView1.Items[i+1] := ListView1.Items[ListView1.Items.Count-1];
ListView1.Items.Delete(ListView1.Items.Count-1);
ListView1.SetFocus;
ListView1.Selected := ListView1.Items[i+1];
ListView1.Scroll(0, (ListView1.Items[i].Top) - 50);
end;
end;
--Pozdrowienia