Интересная проблемка. Тоже поизголялся - не выходит каменный цветок. Похоже через фильтр этого не сделать. Похоже что для этого надо обрабатывать событие IncludeItem, но или оно похоже с багом, т.к. изменение значения Include никак не влияет на формируемый список.
Вот собственно, что я наваял в результате поиска решения.
Код:
uses ShlObj;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
OpenDialog1.Execute;
Application.Terminate
end;
procedure TForm1.OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
var Include: Boolean);
var
PathName: array[0..99] of Char;
Ext: String;
begin
SHGetPathFromIDList(PItemIDList(OFN.pidl), @PathName);
Ext := ExtractFileExt(PathName);
Include := Ext = '';
end;
Мне уже самому интересно как побороть эту проблему.