我已经做了很好的搜索,看看是否有其他人问过这个问题,似乎没有.我发现这很奇怪,因为很容易从TShellTreeView.Path中提取路径,并获得完全限定的路径.
然而,我尽可能努力地在编辑器中查看类本身的所有属性和方法 - 没有文档 - 以及我可以找到的唯一可能的字符串属性,其中tlistitems的标题是空白的."选定"属性也是空白.
所以问题很简单,我如何提取在TShellListView组件中选择的任何文件或文件的名称.另外我确实有四个Shell组件链接和工作,你可以选择一个驱动器,浏览目录结构,选择一个掩码并浏览到你想要的文件.
TIA
安德鲁
如果您没有激活MultiSelect属性,请检查SelectedFolder.PathName属性,否则您可以遍历Items并检查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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4008 次 |
| 最近记录: |