我已经做了很好的搜索,看看是否有人问过这个问题,似乎没有。我觉得这很奇怪,因为很容易从TShellTreeView.Path中提取路径,然后得到完全限定的路径。
然而,我尽我所能在编辑器中查看了类本身的所有属性和方法-没有文档-以及我可以找到的唯一可能的字符串属性,其中tlistitems的标题被证明是空白的。此外,“selected”属性也变为空白。
因此,问题很简单,如何提取在TShellListView组件中选择的任何文件的名称。另外,我已经链接了四个Shell组件并运行,您可以选择一个驱动器,浏览目录结构,选择一个掩码,然后浏览到您想要的文件。
提亚
安德鲁
发布于 2012-01-29 02:30:40
如果您还没有激活MultiSelect属性,请检查SelectedFolder.PathName属性,否则您可以遍历这些项并检查Selected属性。
尝尝这个
function GetSelectedFiles(ShellListView : TShellListView) : TStringList;
var
Index : Integer;
begin
Result:=TStringList.Create;
if not ShellListView.MultiSelect then
Result.Add(ShellListView.SelectedFolder.PathName)
else
for Index := 0 to ShellListView.Items.Count-1 do
if ShellListView.Items[Index].Selected AND (not ShellListView.Folders[Index].IsFolder) then
Result.Add(ShellListView.Folders[Index].PathName);
end;https://stackoverflow.com/questions/9047574
复制相似问题