Thema: Delphi ListView Ordnen

Einzelnen Beitrag anzeigen

No Voices

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

ListView Ordnen

  Alt 8. Okt 2003, 20: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