簡體   English   中英

如何將TShellListView項目篩選到特定的文件擴展名?

[英]How to filter TShellListView items to a specific file extension?

我正在Delphi 7中開發一個需要ShellListView1的項目,因此僅顯示.PNG或.JPG文件。

如何僅查看文件夾和特定文件類型(例如:“。 exe; .bat”)?

有人告訴我是一個帶遮罩的ShellListView1組件,但我嘗試訪問的網站處於脫機狀態。

您可以為OnAddFolder事件編寫一個處理程序,該事件將在將項目添加到列表時觸發。 以下代碼僅允許將擴展名為*.exe*.bat文件添加到列表中:

procedure TForm1.ShellListView1AddFolder(Sender: TObject;
  AFolder: TShellFolder; var CanAdd: Boolean);
var
  FileExt: string;
begin
  CanAdd := not AFolder.IsFolder;
  if CanAdd then
  begin
    FileExt := ExtractFileExt(AFolder.PathName);
    CanAdd := (FileExt = '.exe') or (FileExt = '.bat');
  end;
end;
uses Masks;
...
procedure TForm1.ShellListView1AddFolder(Sender: TObject;
  AFolder: TShellFolder; var CanAdd: Boolean);
begin
  CanAdd := AFolder.IsFolder or MatchesMask(AFolder.PathName, '*.exe');
end;

MatchesMask()函數返回True是一個與掩碼指定的格式匹配的字符串值。

語法上有效的Mask由文字字符,集合和通配符組成。 通配符是星號(*)或問號(?)。 星號匹配任意數量的字符。 問號與單個任意字符匹配。

暫無
暫無

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

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