AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView Ordnen

Ein Thema von No Voices · begonnen am 8. Okt 2003 · letzter Beitrag vom 2. Dez 2003
Antwort Antwort
No Voices

Registriert seit: 6. Sep 2003
Ort: Peine
110 Beiträge
 
Delphi 7 Enterprise
 
#1

ListView Ordnen

  Alt 8. Okt 2003, 19:44
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]) = '.mp3then
            Datei.SubItems.Insert(0, 'mp3');
          if ExtractFileExt(Open.Files[i]) = '.wmathen
            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;
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#2

Re: ListView Ordnen

  Alt 27. Nov 2003, 13:40
Was meinst du mit Ordnen? Sortieren oder per Drag'n'Drop hin und herziehen?
  Mit Zitat antworten Zitat
No Voices

Registriert seit: 6. Sep 2003
Ort: Peine
110 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: ListView Ordnen

  Alt 2. Dez 2003, 18:36
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 ???
  Mit Zitat antworten Zitat
OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: ListView Ordnen

  Alt 2. Dez 2003, 19:18
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
No Pain No Gain!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz