da wirdst'e wohl im
MSDN selbsr suchen müssen
und die APIs nach Delphi portieren.
Das sind die neuen Vista-Dialoge, weil es seit da diese
API gab und somit D7 es noch nicht kennen kann.
CLSID_FileOpenDialog: TGUID = '{DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7}'
Delphi-Quellcode:
{ TCustomFileOpenDialog }
function TCustomFileOpenDialog.CreateFileDialog: IFileDialog;
var
LGuid: TGUID;
begin
{$IF DEFINED(CLR)}
LGuid :=
Guid.Create(CLSID_FileOpenDialog);
{$ELSE}
LGuid := CLSID_FileOpenDialog;
{$ENDIF}
CoCreateInstance(LGuid,
nil, CLSCTX_INPROC_SERVER,
StringToGUID(SID_IFileOpenDialog), Result);
end;
function TCustomFileOpenDialog.GetResults: HResult;
begin
if not (fdoAllowMultiSelect
in Options)
then
Result :=
inherited GetResults
else
begin
Result := (Dialog
as IFileOpenDialog).GetResults(FShellItems);
if Succeeded(Result)
then
Result := GetFileNames(FShellItems);
end;
end;