* ishellbrowser + deps

git-svn-id: trunk@10124 -
This commit is contained in:
marco 2008-01-31 13:33:29 +00:00
parent 1917253073
commit a37f85793a

View File

@ -18,8 +18,8 @@ unit shlobj;
interface
uses
windows,activex,shellapi;
uses
windows,activex,shellapi,commctrl;
Const
IID_IShellFolder : TGUID ='{000214E6-0000-0000-C000-000000000046}';
@ -35,7 +35,40 @@ Const
IID_IEnumExtraSearch: TGUID ='{0E700BE1-9DB6-11d1-A1CE-00C04FD75D13}';
IID_IShellFolder2 : TGUID ='{93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}';
Const
SV2GV_CURRENTVIEW = DWORD(-1);
SV2GV_DEFAULTVIEW = DWORD(-2);
Type
IShellView = Interface;
IShellBrowser = Interface;
LPTBBUTTONSB = LPTBBUTTON;
SVSIF = UINT;
TSVSIF = SVSIF;
SHELLVIEWID = TGUID;
TSHELLVIEWID = TGUID;
PSHELLVIEWID = ^TGUID;
LPVIEWSETTINGS = Pchar;
FOLDERSettings = Packed Record
ViewMode : UINT; // View mode (FOLDERVIEWMODE values)
fFlags : UINT; // View options (FOLDERFLAGS bits)
end;
TFOLDERSettings = FOLDERSettings;
PFOLDERSettings = ^FOLDERSettings;
LPFOLDERSettings= PFOLDERSettings;
LPCFOLDERSettings= LPFOLDERSettings;
PSV2CVW2_PARAMS = ^TSV2CVW2_PARAMS;
TSV2CVW2_PARAMS = packed record // actually <pshpack8.h>")
cbSize : DWORD;
psvPrev : IShellView;
pfs : LPCFOLDERSETTINGS;
psbOwner : IShellBrowser;
prcView : PRECT;
pvid : PSHELLVIEWID;
hwndView : HWND;
end;
LPSV2CVW2_PARAMS = PSV2CVW2_PARAMS;
_SHELLDETAILS = record
fmt,
cxChar : longint;
@ -133,6 +166,76 @@ Type
function Enable(fEnable: BOOL): HRESULT; stdcall;
end;
IShellView = Interface(IOleWindow)
['{000214E3-0000-0000-C000-000000000046}']
function TranslateAccelerator( pm :PMSG):HResult; StdCall;
function EnableModeless(fEnable : BOOL):HResult; StdCall;
function UIActivate(uState:UINT):HResult; StdCall;
function Refresh:HResult; StdCall;
function CreateViewWindow(psvPrevious:IShellView;pfs:LPCFOLDERSETTINGS;psb:IShellBrowser;prcview:prect;var ph:HWND):HResult;StdCall;
function DestroyViewWindow:HResult; StdCall;
function GetCurrentInfo(pfs: LPFOLDERSETTINGS):HResult; StdCall;
function AddPropertySheetPages(dwreserved : DWORD;pfn:pointer{LPFNSVADDPROPSHEETPAGE};lp:lparam):HResult; StdCall;
function SaveViewState:HResult; StdCall;
function SelectItem( pidlItem: LPCITEMIDLIST;uflags:TSVSIF):HResult; StdCall;
function GetItemObject(uitem:UINT;const riid:TGUID;out ppv :PPOinter):HResult;StdCall;
end;
IShellView2 = Interface(IShellView)
['{88E39E80-3578-11CF-AE69-08002B2E1262}']
function GetView(var pvid:TSHELLVIEWID ;uview:ULONG):HResult;StdCall;
function CreateViewWindow2(lpParams:LPSV2CVW2_PARAMS):HResult;StdCall;
function HandleRename(pidlNew: LPCITEMIDLIST ):HResult;StdCall;
function SelectAndPositionItem(pidlItem:LPCITEMIDLIST ;uflags:UINT;ppt:PPOINT):HRESULT;STDCALL;
end;
IFolderView = Interface(IUnknown)
['{cde725b0-ccc9-4519-917e-325d72fab4ce}']
function GetCurrentViewMode(pViewMode:PUINT):HResult; StdCall;
function SetCurrentViewMode(ViewMode:UINT):HResult; StdCall;
function GetFolder(const riid:TGUID;ppv:pointer):HResult; StdCall;
function Item(iItemIndex:longint;ppidl:LPITEMIDLIST):HResult; StdCall;
function ItemCount(uflags:uint;pcitems:plongint):HResult; StdCall;
function Items (uflags:uint;const id :TGUID;out ppv: pointer):HResult; StdCall;
function GetSelectionMarkedItem(piItem:pint):HResult; StdCall;
function GetFocussedItem(piItem:pint):HResult; StdCall;
function GetItemPosition(pidl:LPCITEMIDLIST;ppt:PPOINT):HResult; StdCall;
function GetSpacing(ppt:ppoint):HResult; StdCall;
function GetDefaultSpacing(ppt:ppoint):HResult; StdCall;
function GetAutoArrange:HResult; StdCall;
function SelectItem(iItem : longint;dwflags:Dword) :HResult; StdCall;
function SelectAndPositionItems(cild:uint;var apid: LPCITEMIDLIST ;apt:PPOINT;dwflags:DWord):HResult; StdCall;
end;
IFolderFilterSite = Interface(IUnknown)
['{C0A651F5-B48B-11d2-B5ED-006097C686F6}']
function SetFilter(punk:IUnknown):HResult; StdCall;
end;
IFolderFilter = Interface(IUnknown)
['{9CC22886-DC8E-11d2-B1D0-00C04F8EEB3E}']
function ShouldShow(Psf:IShellFolder;pidlfolder:LPCITEMIDLIST;pidlItem:LPCITEMIDLIST):HResult; StdCall;
function GetEnumFlags(Psf:IShellFolder;pidlfolder:LPCITEMIDLIST;var hwnd: hwnd;out pgrfflags:DWORD):HResult; StdCall;
end;
//cpp_quote("#include <commctrl.h>")
//cpp_quote("typedef LPTBBUTTON LPTBBUTTONSB;")
IShellBrowser = interface(IOleWindow)
['{000214E2-0000-0000-C000-000000000046}']
function InsertMenusSB(hmenuShared: HMenu; var menuWidths: TOleMenuGroupWidths): HResult;StdCall;
function SetMenuSB(hmenuShared: HMenu; holemenu: HOLEMenu; hwndActiveObject: HWnd): HResult;StdCall;
function RemoveMenusSB(hmenuShared: HMenu): HResult;StdCall;
function SetStatusTextSB(pszStatusText: POleStr): HResult;StdCall;
function EnableModelessSB(fEnable: BOOL): HResult;StdCall;
function TranslateAcceleratorSB(var msg: TMsg; wID: Word): HResult;StdCall;
function BrowseObject(pidl:LPCITEMIDLIST;wFlags:UINT): HResult;StdCall;
function GetViewStateStream(grfMode :DWORD; out ppstrm :IStream): HResult;StdCall;
function GetControlWindow(id:UINT;var h:HWND): HResult;StdCall;
function SendCOntrolMsg(id:uint;umsg:UINT;wparam:wparam;lparam:lparam;pret:PLRESULT): HResult;StdCall;
function QueryActiveShellView(out ppsh :IShellView): HResult;StdCall;
function OnViewWindowActive(psh :IShellView): HResult;StdCall;
function SetToolBarItems(lpButtons:LPTBBUTTONSB;nButtons:UINT;uFlags:uint): HResult;StdCall;
end;
const
CLSID_AutoComplete: TGUID = '{00BB2763-6A77-11D0-A535-00C04FD7D062}';