![]() |
ListView Ordnen
Hallöchen,
Ich bin immer noch dabei einen Player zu schreiben, und bin auch schon recht weit. Jedoch habe ich das problem das ich ind der ListView (L1) die einträge nicht verschieben kann. Als Caption habe ich den Item count genommen der soll sich dan natürlich auch ändern. Hat jemand ne idee???
Delphi-Quellcode:
:?:
procedure TForm1.B1Click(Sender: TObject);
var Datei : TListItem; i : integer; begin if Open.Execute then begin for i := 0 to Open.Files.Count -1 do begin Datei := L1.Items.Add; Datei.ImageIndex := -1; Datei.Caption := IntToStr(L1.Items.Count); if ExtractFileExt(Open.Files[i]) = '.mp3' then Datei.SubItems.Insert(0, 'mp3'); if ExtractFileExt(Open.Files[i]) = '.wma' then Datei.SubItems.Insert(0, 'wma'); Datei.SubItems.Insert(1, ExtractFileExt(Open.Files[i])); Datei.SubItems.Insert(2, ExtractFileName(ChangeFileExt(Open.Files[i], ''))); Datei.SubItems.Insert(3, Open.Files[i]); end; end; end; procedure TForm1.B2Click(Sender: TObject); begin L1.Items.Item[im].ImageIndex := -1; im := L1.ItemIndex; l1.Items.Item[im].ImageIndex := 3; Edit1.Text := l1.Items.Item[im].SubItems.Strings[3]; end; procedure TForm1.L1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin with Sender as TListView do begin if L1.Selected.Index > -1 then BeginDrag(False); Label1.Caption := 'Von:' + IntToStr(L1.Selected.Index); index1 := L1.Selected.Index; end; end; end; procedure TForm1.L1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if Source is TListView then Accept := True else Accept := False; end; procedure TForm1.L1DragDrop(Sender, Source: TObject; X, Y: Integer); begin if Source is TListView then with L1 do Label2.Caption := 'nach:' + IntToStr(l1.DropTarget.Index); index2 := l1.DropTarget.Index; // //Was muss hir stehen // end; procedure TForm1.L1EndDrag(Sender, Target: TObject; X, Y: Integer); begin // // und hir // end; |
Re: ListView Ordnen
Was meinst du mit Ordnen? Sortieren oder per Drag'n'Drop hin und herziehen?
|
Re: ListView Ordnen
Hallo,
ich habe eine ListView als Playlist für einen MediaPlayer benutzt. Jetzt Möchte ich die einträge mit der Maus verschieben um die Liste zu sortieren. Das heist ich möchte die Reihenfolge in der die Titel abgespielt werden ändern. Geht das überhaupt ??? |
Re: ListView Ordnen
Guten Abend!
Klar geht das. Ich nutze in meinem aufgebohrtem Listview zwei Varianten: 1. Mit Drag & Drop verfrachtest Du einen Eintrag beliebig weit nach oben oder unten. 2. Die Variante von z.B. NERO gefällt mir persönlich sehr gut. Eintrag anklickern und bei gedrückter Maustaste lustig verschieben. Sobald der Cursor ein anderes Item tangiert wird munter getauscht. Hier hilft Dir die Methode GetItemAt des Listviews weiter. Hab jetzt leider meinen Code nicht hier und muss jetzt erst mal trainieren. Aber sofern Du Interesse hast, helfe ich nachher gern weiter. Viel Erfolg wünscht ... OLLI |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz