0

我正在开发一个需要 ShellListView1 的 Delphi 7 项目,因此只显示 .PNG 或 .JPG 文件。

如何仅查看文件夹和特定文件类型(例如:'. exe; .bat')?

有人告诉我是一个带有屏蔽的 ShellListView1 组件,但我尝试的网站处于脱机状态。

4

2 回答 2

5

您可以为该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;
于 2013-03-10T19:12:57.577 回答
1
uses Masks;
...
procedure TForm1.ShellListView1AddFolder(Sender: TObject;
  AFolder: TShellFolder; var CanAdd: Boolean);
begin
  CanAdd := AFolder.IsFolder or MatchesMask(AFolder.PathName, '*.exe');
end;

函数 MatchesMask()返回 True 是与掩码指定的格式匹配的字符串值。

语法上有效的掩码由文字字符、集合和通配符组成。通配符是星号 (*) 或问号 (?)。星号匹配任意数量的字符。问号匹配单个任意字符。

于 2014-08-27T07:59:28.920 回答