mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-08 10:59:10 +02:00
* ishellbrowser + deps
git-svn-id: trunk@10124 -
This commit is contained in:
parent
1917253073
commit
a37f85793a
@ -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}';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user