Einzelnen Beitrag anzeigen

bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Listboxeintrag merken und wiederherstellen

  Alt 28. Dez 2005, 19:37
Zitat von marabu:
Ich habe mir jetzt nur deinen event handler für OnDragDrop() angesehen - warum setzt du denn den korrekten Index nicht nachdem du ein Item verschoben hast?

Delphi-Quellcode:
//Playlisteneinträge verschieben
procedure Tmediaplayer_frm.PlayList_ListBoxDragDrop(Sender,
  Source: TObject; X, Y: Integer);
var
  i,j : Integer;
begin
  i := PlayList_ListBox.ItemIndex;
  j := PlayList_ListBox.ItemAtPos(Point(x, y), true);

  // diesen Test solltest du im OnDragOver machenvorhanden
  if j > -1 then
  begin
    // die nächste Zeile würde bei virtueller Listbox entfallen
    PlayList_ListBox.Items.Move(i,j);
    PlayList.Move(i,j);
    PlayList_ListBox.ItemIndex := j;
  end;
end;
Grüße vom marabu
Hmm , jetzt hast du doch nur den Index vom verschobenem Item, oder sehe ich das falsch?

Wenn ich Items verschiebe und der abspielende (farbig hinterlegte) Track liegt darüber, macht es nicht aus.

Wenn ich aber ein Item über den abspielenden Track schiebe, dann bekomme ich die Hinterlegung automatisch auf das falsche Item.

Das gleiche gilt ,wenn ich den abspielenden Track selbst verschiebe.Die farbige Hinterlegung bleibt auf den gemerkten Index.

Ich habe zuwenig Möglichkeiten, um den Track ganz genau zu erfassen, denn der Index kann sich ändern und der Name des Index kann zweimal vorhanden sein...lol

Bei deinem Vorschlag müsste ich schaun, welcher Index farbig hinterlegt ist und beim verschieben von irgendwelchen Items müsste ich gucken,ob dieser gewandert ist, nur ich kann diesen nicht richtig "fassen"...


PS: Marabu ist everwhere i look.....großes Dank für dein Interesse....!
  Mit Zitat antworten Zitat