_JAY_ Skrevet 18. juli 2002 Del Skrevet 18. juli 2002 Jeg har opprettet en ShellListView1 og en ListBox1 og ønsker å dra filer fra ShellListView og dumpe navnene i en ListBox. Her er koden som jeg har laget til dette og mener at dette skulle ha fungert, men jeg får ikke lagt over noen filnavn. procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Source is TShellListView; end; procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer); var i:integer; begin if (Sender is TListBox) and (Source is TShellListView) then begin with Sender as TListBox do for i:=1 to ShellListView1.SelCount do begin ListBox1.Items.Add(ShellListView1.Items.Item.Caption); end; end; end; Noen som kan hjelpe meg med denne? Lenke til kommentar
kilogram Skrevet 18. juli 2002 Del Skrevet 18. juli 2002 Code: procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);var i, Max: Integer;begin if (Sender is TListBox) and (Source is TShellListView) then begin Max := TShellListView(Source).Items.Count - 1; with Sender as TListBox do for i := 0 to Max do begin if TShellListView.Items[i].Selected then TListBox(Sender).Items.Add(TShellListView(Source).Items[i].Caption); end; end;end; Dette bør virka bedre. Dersom det berre var eit item i din TShellListView, ville den berre bladd igjennom Item 1. No blar den gjennom alle, og sjekker om dei er valgt, før den legg den til i lista. Eg har og lagt til ein del typecasting her, slik at du kan bruka prosedyren for fleire ulike TShellListViews og TListBoxes. Håper dette hjelper. :smile: mvh., Vegard Lenke til kommentar
_JAY_ Skrevet 18. juli 2002 Forfatter Del Skrevet 18. juli 2002 Takk for at du tar deg tid Vegard. Vel, dette ga det samme resultatet, ingenting. Problemet er at det ser ut som koden virker bra, men jeg får bare ut blanke verdier i Listboxen. Drar jeg over 10 filer blir det lagt til 10 blanke verdier i Listboxen. Lenke til kommentar
kilogram Skrevet 18. juli 2002 Del Skrevet 18. juli 2002 Quote: _JAY_ skrev (2002-07-18 19:27):Takk for at du tar deg tid Vegard.Vel, dette ga det samme resultatet, ingenting. Problemet er at det ser ut som koden virker bra, men jeg får bare ut blanke verdier i Listboxen. Drar jeg over 10 filer blir det lagt til 10 blanke verdier i Listboxen. Eg har no gravd litt i TShellListView, ShellCtrls.pas, og det ser ikkje ut til at det er så lett å hente ut navnet til dei filene du drar over. Det virkar på meg som om denne kontrollen er litt ukompatibel. Den setter ikkje .Items.Caption, sjølv som det finns rett antall Items. TShellListView er ikkje dokumentert, og svært dårlig kommentert (har til no funnet ein kommentar i fila), og det er difor svært vanskelig for meg å gje deg råd. Sorry! mvh., Vegard Lenke til kommentar
_JAY_ Skrevet 18. juli 2002 Forfatter Del Skrevet 18. juli 2002 Takk for rask respons. Før så brukte jeg TFileListBox, TDirectoryListBox osv., men med v6 så kom TShellListView og TShellTreeView som så litt penere ut. Jeg lurer på om du (noen) vet om samme type komponenter som jeg kan få tak i? Lenke til kommentar
kilogram Skrevet 19. juli 2002 Del Skrevet 19. juli 2002 Du kan sjekke litt rundt på Torry's Delphi Pages, for eksempel. Ellers gjør ofte søk på Google underverk. Du treng ikkje gje heilt opp på TShellListView enno, det finns sikkert ein eller anna løysing på problemet. mvh., Vegard Lenke til kommentar
_JAY_ Skrevet 20. juli 2002 Forfatter Del Skrevet 20. juli 2002 Quote: ..det finns sikkert ein eller anna løysing på problemet. Det fantes en løsning og den kommer her: ---- procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer); var i : Integer; begin if (Sender is TListBox) and (Source is TShellListView) then begin with Sender as TListBox do for i:=1 to TShellListView(Source).Items.Count-1 do if TShellListView(Source).Items.Item.Selected then TListBox(Sender).Items.Add(ExtractFilename(TShellListView(Source).Folders.PathName)); end; end; ---- Fikk hjelp av et annet klokt hode på 'Infinite Loops' (Delphi forum). mvh. Kjetil <font class=editedby>[ Denne Melding var redigert av: _JAY_ på 2002-07-20 12:19 ]</font> [ Denne Melding var redigert av: _JAY_ på 2002-07-20 12:20 ] Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå