Hallo,
ich sitze seit 2 Tagen an einem Problem und komme nicht weiter.
Ich möchte gerne in einer TListView ein Icon mit der Maus verschieben. Aber auf ganz bestimmte art und weise!
Und zwar: Icon klicken ziehen und auf einem anderem Icon ablegen und beide tauschen ihren Platz.
Alles was ich bis jetzt habe - was aber nicht richtig funktioniert - ist das *nicht schimpfen für diesen Müll*
*hilfe* Gruss Doreen
Delphi-Quellcode:
procedure TForm1.ListView1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
p2.x := x;
p2.y := y;
end;
procedure TForm1.ListView1Click(Sender: TObject);
begin
if (ListView1.Selected <> nil) then
begin
ItemIdx := ListView1.Selected.Index;
p.x := ListView1.Selected.Position.x;
p.y := ListView1.Selected.Position.y;
end;
end;
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ListView1.Items.BeginUpdate;
DropItem := ListView1.GetItemAt(p2.x, p2.y);
NextItem := ListView1.GetNextItem(DropItem, sdAll, [isFocused]);
if Assigned(NextItem) then
begin
ListView1.Items[NextItem.Index].SetPosition(p2);
ListView1.Items[ItemIdx].SetPosition(p2);
end;
ListView1.Items.EndUpdate;
end;
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
//
end;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
//
end;
[edit=r_kerber]Code- durch Delphi-Tags ersetzt. Mfg, r_kerber[/edit]