如何将TShellListView项过滤到特定的文件扩展名?

0 delphi delphi-7

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

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

我被告知是一个带有屏蔽的ShellListView1组件,但我尝试的网站是离线的.

TLa*_*ama 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;
Run Code Online (Sandbox Code Playgroud)