我正在使用Delphi 7的一個項目,需要ShellListView1,所以只顯示.PNG或.JPG文件。如何過濾TShellListView項目到特定的文件擴展名?
如何查看僅文件夾和特定文件類型(例如:'.exe; .bat')?
我被告知是一個帶屏蔽的ShellListView1組件,但我嘗試的網站處於脫機狀態。
我正在使用Delphi 7的一個項目,需要ShellListView1,所以只顯示.PNG或.JPG文件。如何過濾TShellListView項目到特定的文件擴展名?
如何查看僅文件夾和特定文件類型(例如:'.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()回報真正是一個字符串值由面具specifed的格式相匹配。
句法有效掩碼由文字字符,集合和通配符組成。 通配符是星號(*)或問號(?)。星號匹配任意數量的字符。問號與單個任意字符匹配。