Einzelnen Beitrag anzeigen

Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#10

Re: Listview Zeilen färben, On Custom DrawItem

  Alt 11. Apr 2008, 09:08
Wieder Danke Marabu, eigentlich hätte ich da auch selber drauf kommen können

trotzdem muss ich dich nochmal nerven,
ich hab das jetzt mal geändert wie ich gedacht habe, funktioniert für ein Item auch
wunderbar, nur beim Multiselect gibts Probleme.

Delphi-Quellcode:
procedure TfDLMain.ListViewDragDrop(Sender, Source: TObject; X, Y: Integer);
var
DragItem, DropItem, CurrentItem, NextItem: TListItem;
i, Index1, Index2 :Integer;
begin
  if Sender = Source then begin
   for i:= 0 to ListItems.Count-1 do begin
     if ListItems[i].Selected = true then begin
       DropItem := ListView.GetItemAt(X, Y);
       Index1 := i;
       Index2 := DropItem.Index;
       Values.Insert(Index2,Values[Index1]);
       Values.Delete(Index1);
     end;
     end;
   end;
  ListView.Invalidate;

//*************************************************************************
//***** alte Methode fuer Listview ohne VirtualMode ********************
//*************************************************************************
// if Sender = Source then
// with TListView(Sender) do begin
// DropItem := GetItemAt(X, Y);
// CurrentItem := Selected;
// while CurrentItem <> nil do begin
// NextItem := GetNextItem(CurrentItem, SdAll, [IsSelected]);
// if DropItem = nil then DragItem := Items.Add
// else
// DragItem := Items.Insert(DropItem.Index);
// DragItem.Assign(CurrentItem);
// CurrentItem.Free;
// CurrentItem := NextItem;
// end;
// end;
//*************************************************************************
//*************************************************************************

end;
hab das Problem, dass er zwar die Items verschiebt, aber dann nur ein Item aus meiner "Values" löscht.

Gruß Ruben
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat