![]() |
Fragen zu TShellListView und TShellTreeView
Hallo! Ich habe einige Fragen zu den beiden im Titel genannten Komponenten. Wie kann ich in der ShellView Drag&Drop aktivieren? Wenn ich mehrere Elemente auswähle und ausschneide, wieso wird dann immer nur das erste verschoben? Wäre wirklich nett wenn mir jemand helfen könnte....
MfG Alcaeus |
Re: Fragen zu TShellListView und TShellTreeView
Hi
Zitat:
Hat jemand eine Idee, wie man das aktivieren kann bzw. was dazu alles fehlt? Mfg Moyyer |
Re: Fragen zu TShellListView und TShellTreeView
Danach hab ich auch gesucht und bin so auf VirtualShellTools gekommen, da geht das blitzschnell, da brauchst du nur die Shell Option DragDrop auf True setzen :)
|
Re: Fragen zu TShellListView und TShellTreeView
wo find ich die??? (hab jetzt noch nicht gesucht)
Vielleicht gibt es ja eine schnelle methode |
Re: Fragen zu TShellListView und TShellTreeView
|
Re: Fragen zu TShellListView und TShellTreeView
Habe beides Installiert und funktioniert auch soweit super. DANKE
Mein Problem besteht jetzt darin, dass ich nicht weiß, wie ich in einer VirtualExplorerListview alle datein mit einem bestimmten Endung (z.b. mp3) markieren kann. Kennt sich jemand damit aus? Mfg Moyyer |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Denke da gibts es eine eigenschaft multiselect diese muss natürlich auf true stehen. gruß |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
ein konkreter Hinweis wär hilfreich. |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Zitat! Zitat:
Ansonsten schau mal nach den stichwort node. function TreeFromNode(Node: PVirtualNode): TBaseVirtualTree; Über Node wirst du den eintrag selectieren können. EDIT:Oder ging es dir nur um das ListView? Dann ist mein Beitrag überflüssig. Sorry Denke da steht alles ![]() wenn es die oben genannte componente ist! gruß |
Re: Fragen zu TShellListView und TShellTreeView
Leider kenne ich mit Nodes noch nicht so aus. Langsam bin ich am verzweifeln :evil: :twisted:
das muss doch irgendwie funktionieren... Habe die VirtualShellTools installiert und benutze diese. Es gibt eine Prozedure:
Delphi-Quellcode:
welche ein node markiert, nur weiß ich nicht, was ich in "node" eintragen soll.
VirtualShellTreeView1.Selected[Node: PVirtualNode]: Boolean;
|
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Quasi dieser welche den Namen deiner Datei anzeigt.
Delphi-Quellcode:
Ohne gewähr .. hab mir das Teil nicht angesehen.
Var
nNode : PVirtualNode; Begin // schau mal ob die node über ein ADD im anhang verfügt. // Damit kannst du dann eingelesene Namen zuweisen. For i := 0 to 10 do VirtualShellTreeView1.node.Add i; End; Für i muss natürlich ein wert angegeben werden string Array oder was auch immer. gruß |
Re: Fragen zu TShellListView und TShellTreeView
Ok habe was gefunden!
Das wird dir helfen die sache besser zu verstehen! In Deutsch ![]()
Delphi-Quellcode:
Gruß
procedure TForm1.Button1Click(Sender: TObject);
var Node: PVirtualNode; begin Node:=VST.AddChild(nil); VST.AddChild(Node); end; |
Re: Fragen zu TShellListView und TShellTreeView
Liste der Anhänge anzeigen (Anzahl: 1)
Es bessert sich langsam alles.
Deine Hilfe ist erstmal super. DANKE Habe bis jetzt geschafft im VirtualTreeView einen Node mit Selected zu markieren. Nur soll er das eigentlich im VirualListView machen. Auf jeden Fall sind das dort auch nodes, den mit addnode fügt er ein node hinzu. Leider findet er die Nodes im VirtualListview noch nicht. Bei VirtualTreeView muss ich den ganzen Pfad angeben: z.b: C:\Windows damit dieser markiert wird. Hast du eine Ahnung was man bei VirtualListview als Pfad angeben muss? Hab dir mal zum besseren Verständnis ein Bild angehangen |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Hast du dir das 11 Seitige Tutorial oben verlinkt mal angeschaut! Da ist alles Super und ausführlich beschrieben. Gruß |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Hast du dir das 11 Seitige Tutorial oben verlinkt mal angeschaut! Da ist alles Super und ausführlich beschrieben. Gruß |
Re: Fragen zu TShellListView und TShellTreeView
ja hab mir das tutorial angeschaut.
aber immoment häng ich dran fest, das ich (immernoch) nicht weiß, wie ich aus der virtuallistview den dateinamen (in form von string) auslesen kann. Die Prozedur GetNodeData liefert mir einen Pointer zurück. K.a. was ich damit anfangen soll |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Dies können der string , Key, index, oder was auch immer, in der node enthalten ist sein. Kann das Control nicht installieren mülle mir dann alles hier zu. gruß EDIT: Schick mal was code vielleicht können dann andere helfen die das control installiert haben Leider haben diese keine Glaskugel. |
Re: Fragen zu TShellListView und TShellTreeView
hatte gedacht, dass man mit den "fortschrittlichen" komponenten wenigstens (relativ einfach) die Dateinamen auslesen und diese (Un)Selektieren kann, vor allem wenns eine Dateibrowserkomponente ist.
Aber umsomehr ich mich damit beschäftige umso komplizierter wird es. Und da anscheinend niemand solche komponenten benutzt, scheinen sie auch net gut zu sein. Deswegen lass ich es lieber und kehre wieder zu den Delphi-Mitgeliferten-Komponenten zurück. Habe es immerhin soweit geschafft, das er nur die mp3s markiert, nur beim Beenden des Programms kamen einige schwerwiegende Fehler ohne Zeilenangabe im Code, die nicht "normal" sind
Delphi-Quellcode:
falls jemand Verbesserungsvorschläge hat, kann ich es ja mal probieren.
var i, all: integer;
Node: pvirtualnode; s: Tstrings; begin s := Tstringlist.Create; vlistview1.SelectAll(false); s := vlistview1.SelectedFiles; all := VListview1.SelectedCount; Node := vlistview1.GetFirstSelected; for i := 1 to all do begin if ansilowercase(extractfileext(s.Strings[i-1])) <> '.mp3' then begin vlistview1.Selected[node] := false; Node := vlistview1.GetNextSelected(Node); end else if i <> all then node := vlistview1.GetNextSelected(Node); end; s.Free; end; |
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
Delphi-Quellcode:
..hab jetzt nicht ganz mitgekriegt was du genau machen möchtest!
VirtualExplorerListview1.SelectedPath
|
Re: Fragen zu TShellListView und TShellTreeView
ich möchte das nur dateien eines bestimmten dateityps z.b. mp3 markiert sind, keine anderen
|
Re: Fragen zu TShellListView und TShellTreeView
Zitat:
|
Re: Fragen zu TShellListView und TShellTreeView
eigentlich wollte ich in meinem programm drag&drop aktivieren, was mit den alten komponenten (nicht) schwer geht.
aber natürlich haben die komponenten noch andere funktionen bzw. werden von anderen komponenten benutzt, so gibt es z.b. einen button, der alle mp3s des aktuellen ordners markiert. Drag&drop geht nun. jetzt müssen die anderen prozeduren angepasst werden. nur leider war das schwieriger als zunächst gedacht. Zitat:
was für den benutzer nicht zumutbar ist. --> mp3's markieren funktioniert nicht!!!! |
Re: Fragen zu TShellListView und TShellTreeView
hast du vllt eine ander lösung, wie ich alle mp3s markieren kann?
|
Re: Fragen zu TShellListView und TShellTreeView
Hallo
versuch's mal hiermit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; s: TstringList; begin s := TStringList.Create; vli.SelectAll(true); s.AddStrings(vli.SelectedPaths); try for i := 0 to vli.SelectedCount-1 do if ExtractFileExt(s.Strings[i]) <> '.mp3' then begin vli.Selected[vli.FindNode(s.Strings[i])] := false; vli.Refresh; end; finally s.free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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