Сам я не пробовал на практике, но где-то в Инете встречал такой вариант :
Код:
procedure TForm1.ShellListView1AddFolder(Sender: TObject; AFolder: TShellFolder;
var CanAdd: Boolean);
Var
ExtX : string;
Yes : Byte;
begin
Yes:=0;
if AFolder.IsFolder then begin
//это папка - добавляем в любом случае
Yes:=1;
end
else begin
//это файл
ExtX:=ExtractFileExt(AFolder.PathName); //выделяем маску добавляемого файла
if (Здесь_сравнение_маски_ExtX и Заданной_маской) then begin
Yes:=1;
end;
end;
if Yes>0 then begin
CanAdd := True
end
else begin
CanAdd := False;
end;
end;