[SHELLFIND] Set default folder view mode to details

This commit is contained in:
Brock Mammen
2019-07-19 19:15:38 -05:00
committed by Giannis Adamopoulos
parent c0799cd25b
commit 9c29004090
2 changed files with 22 additions and 0 deletions

View File

@@ -119,6 +119,7 @@ STDMETHODIMP CFindFolder::CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *
SFV_CREATE sfvparams = {};
sfvparams.cbSize = sizeof(SFV_CREATE);
sfvparams.pshf = this;
sfvparams.psfvcb = this;
return SHCreateShellFolderView(&sfvparams, (IShellView **) ppvOut);
}
return E_NOINTERFACE;
@@ -146,6 +147,22 @@ STDMETHODIMP CFindFolder::SetNameOf(HWND hwndOwner, PCUITEMID_CHILD pidl, LPCOLE
UNIMPLEMENTED;
return E_NOTIMPL;
}
//// *** IShellFolderViewCB method ***
STDMETHODIMP CFindFolder::MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case SFVM_DEFVIEWMODE:
{
FOLDERVIEWMODE *pViewMode = (FOLDERVIEWMODE *) lParam;
*pViewMode = FVM_DETAILS;
return S_OK;
}
}
return E_NOTIMPL;
}
//// *** IPersistFolder2 methods ***
STDMETHODIMP CFindFolder::GetCurFolder(LPITEMIDLIST *pidl)
{

View File

@@ -9,6 +9,7 @@ class CFindFolder :
public CComCoClass<CFindFolder, &CLSID_FindFolder>,
public CComObjectRootEx<CComMultiThreadModelNoCS>,
public IShellFolder2,
public IShellFolderViewCB,
public IPersistFolder2
{
// *** IShellFolder2 methods ***
@@ -51,6 +52,9 @@ class CFindFolder :
STDMETHODIMP SetNameOf(HWND hwndOwner, PCUITEMID_CHILD pidl, LPCOLESTR lpName, DWORD dwFlags,
PITEMID_CHILD *pPidlOut);
//// *** IShellFolderViewCB methods ***
STDMETHODIMP MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam);
private:
LPITEMIDLIST m_pidl;
CComPtr<IShellFolder2> m_pisfInner;
@@ -76,6 +80,7 @@ public:
BEGIN_COM_MAP(CFindFolder)
COM_INTERFACE_ENTRY_IID(IID_IShellFolder2, IShellFolder2)
COM_INTERFACE_ENTRY_IID(IID_IShellFolder, IShellFolder)
COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewCB, IShellFolderViewCB)
COM_INTERFACE_ENTRY_IID(IID_IPersistFolder2, IPersistFolder2)
COM_INTERFACE_ENTRY_IID(IID_IPersistFolder, IPersistFolder)
COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)