2012-01-28 30 views
2

我已經做了一個很好的搜索,看看是否有其他人問過這個問題,似乎沒有。我覺得這很奇怪,因爲很容易從TShellTreeView.Path中提取路徑並獲得完全限定的路徑。如何提取TShellListView中所選文件的名稱?

然而,我儘可能的努力,在編輯器中查看類本身的所有屬性和方法 - 沒有文檔 - 以及唯一可能的字符串屬性,我可以找到tlistitems的標題,空白。另外,'selected'屬性變爲空白。

所以問題很簡單,我如何提取在TShellListView組件中選擇的任何文件或文件的名稱。此外,我還有四個Shell組件鏈接和工作,您可以選擇一個驅動器,瀏覽目錄結構,選擇一個掩碼並瀏覽到所需的文件。

TIA

安德魯

回答

7

,如果你不激活了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; 
+0

非常感謝你。 – Muscipula 2012-01-28 19:25:55

+0

意外的是,我在哪裏可以找到tshelllistview等組件的文檔? Muscipula – Muscipula 2014-02-24 18:12:50

相關問題