簡體   English   中英

如何在TShellListView中提取所選文件的名稱?

[英]How can I extract the name of the selected file in TShellListView?

我進行了很好的搜索,看看是否有人問過這個問題,似乎沒有。 我發現這很奇怪,因為很容易從TShellTreeView.Path中提取路徑,並且您獲得了完全限定的路徑。

但是,我盡力在編輯器中查看類本身的所有屬性和方法-沒有文檔-以及唯一可能的字符串屬性,我可以找到tlistitem的標題,而標題卻是空白。 同樣,“ selected”屬性也為空。

因此,問題很簡單,我如何提取在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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM