翻譯|使用教程|編輯:吉煒煒|2025-04-23 10:03:13.940|閱讀 110 次
概述:FastReport 不僅僅包含報表組件,它還提供更多功能!特別是,它有幾個組件可以像其他 Delphi 組件一樣在您的應用程序中使用,而且我們一直在向庫中添加更多組件。在本文中,我們將介紹其中之一:TfrShellTreeView。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
不僅僅包含報表組件,它還提供更多功能!特別是,它有幾個組件可以像其他 Delphi 組件一樣在您的應用程序中使用,而且我們一直在向庫中添加更多組件。在本文中,我們將介紹其中之一:TfrShellTreeView。
此組件旨在顯示文件系統的元素,部分功能類似于 Delphi 中的 TDirectoryListBox、TDirectoryOutline 以及 Lazarus 中的 TShellTreeView 等組件。如果您想在不啟動 IDE 的情況下查看其外觀,您可以在資源管理器窗口左側看到“樹”。
該組件在 Windows 和 Linux 上均可良好運行,適用于 Delphi 和 Lazarus。不支持 FMX 開發。
TfrShellTreeView 利用了許多操作系統功能。例如,在 Windows 中,您可以像處理普通文件夾一樣處理 zip 壓縮包,甚至可以處理其中的內容——提取和添加文件。某些功能可能在 Linux 中不可用,具體取決于您運行的版本。不過不用擔心:顯示樹狀圖和選擇元素在任何操作系統上都能正常工作。
TfrShellTreeView 管理與操作系統交互的主要屬性是 OptionsShell。
TfrShellTreeView 支持一組特定于標準文件對話框或 Windows 資源管理器的熱鍵(Ctrl+С、Ctrl+V、Delete 等)以及標準對話框。
此外,TfrShellTreeView 組件支持在其自身以及其他(并非所有)文件管理器中拖放文件系統元素。OptionsBehavior.AllowDragDrop 屬性用于允許拖放操作。拖放操作通過操作系統函數執行。
其余屬性與 TTreeView 和 TfrTreeView 組件中的屬性類似。但值得注意的是,它們按使用類型分組:OptionsBehavior、OptionsSelection、OptionsShell、OptionsView。這將幫助您快速找到所需的屬性。
如上所述,該組件旨在顯示計算機的文件系統。默認情況下,該組件配置為顯示系統的根文件夾:Windows 中的“桌面”或 Linux 中的“/”。但是,該組件的功能并不僅限于此。
我們將 TfrShellTreeView 組件放置在窗體上并打開其編輯器:
TfrShellTreeView 編輯器看起來與 TTreeView 和 TfrTreeView 組件的編輯器類似,但它有 2 個新按鈕:
正如我們在編輯器截圖中看到的,該組件可以包含:
常規節點和子節點的創建和編輯方式與常規 TreeView 相同。
使用“新建 shell 根項”按鈕可以創建指向文件結構元素的節點。這將創建一個與當前節點同級的 shell 節點。如果點擊“新建 shell 根子項”,則會創建一個與當前節點相關的子 shell 節點。請注意,您無法為 shell 節點創建子節點,但可以為常規節點創建子節點。
編輯 Shell 節點歸根結底就是指定給定節點鏈接到哪個文件夾。您可以使用 TfrRootNodes 類型的常量設置與文件夾的綁定。這些常量定義了諸如桌面、自動啟動等位置。如果您設置了 rfCustomPath 常量,則可以在下方目錄樹中添加指向文件系統文件夾的路徑。您也可以使用位于目錄樹下方的編輯窗口來設置此路徑。例如,下面的屏幕截圖設置了位于驅動器 C:\ 上的 Lazarus 文件夾的路徑。
與常規 TreeView 類似,組件的常規節點可以分配圖標。Shell 節點無法分配圖標;它們使用操作系統中設置的圖標。對于節點,實際使用的是 ImageIndex 屬性中添加的圖標索引。其余圖標索引則不會被使用。此外,由于組件使用的特殊性,一些其他屬性尚未實現。例如,無法選擇多個元素。
最常用的屬性當然是 TfrShellTreeView.SelectedPath。如果選中了一個 Shell 節點,則此屬性包含該節點指向的文件夾的路徑。否則,此屬性等于空字符串。
此外,該組件還可以通過編程方式使用。您可以像添加常規 TTreeView 一樣添加常規(非 shell)節點。
frShellTreeView1.Items.Add(nil,Edit1.Text); //add a root node with text from Edit1
向當前選定的節點添加一個節點:
procedure TForm1.Button5Click(Sender: TObject);
var N:TfrShellTreeViewNode;
begin
N:=(frShellTreeView1.Selected) as TfrShellTreeViewNode;
if N=nil then Exit;
frShellTreeView1.Items.AddChild(N,Edit1.Text);
end;
刪除節點也很簡單。例如,以下是刪除當前選定節點的方法:
procedure TForm1.Button2Click(Sender: TObject);
var N:TfrShellTreeViewNode;
begin
N:=(frShellTreeView1.Selected) as TfrShellTreeViewNode;
if N=nil then exit;
frShellTreeView1.Items.Delete(N);
end;
但是,要刪除一個節點,您只需調用其 Free 方法即可。
遺憾的是,該組件目前不支持生成與其關聯的文件系統文件夾更改時發生的事件。該組件的其余功能與標準 TreeView 基本一致。
總而言之,FastReport 不僅是創建報表的工具,也是 Delphi 應用程序中可用的附加組件的來源。TfrShellTreeView 提供了一種便捷的方式來顯示文件系統元素,并且適用于各種項目。FastReport 組件庫不斷更新,這使得該工具對開發人員更具吸引力。
_________________________________________________________
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技是FastReports的在中國區的合作伙伴,FastReports作為圖表報表領域的優秀產品,幫助企業實現輕松構建高性能的表格及圖表。
下載或體驗FastReport產品,請咨詢,或撥打產品熱線:023-68661681
歡迎加入FastReport技術QQ群:170305738,與更多小伙伴探討報表開發技能。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網