2013-03-10 54 views

回答

4

您可以爲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; 
1
uses Masks; 
... 
procedure TForm1.ShellListView1AddFolder(Sender: TObject; 
    AFolder: TShellFolder; var CanAdd: Boolean); 
begin 
    CanAdd := AFolder.IsFolder or MatchesMask(AFolder.PathName, '*.exe'); 
end; 

功能MatchesMask()回報真正是一個字符串值由面具specifed的格式相匹配。

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

相關問題