80 lines
3.5 KiB
C
80 lines
3.5 KiB
C
|
/*****************************************************************************\
|
||
|
FILE: isfvcb.h
|
||
|
|
||
|
DESCRIPTION:
|
||
|
This is a base class that implements the default behavior of
|
||
|
IShellFolderViewCallBack. This allows default DefView implementation with this
|
||
|
callback to override specific behavior.
|
||
|
\*****************************************************************************/
|
||
|
|
||
|
|
||
|
#ifndef _CBASEFOLDERVIEWCB_H
|
||
|
#define _CBASEFOLDERVIEWCB_H
|
||
|
|
||
|
|
||
|
|
||
|
class CBaseFolderViewCB
|
||
|
: public IShellFolderViewCB
|
||
|
, public CObjectWithSite
|
||
|
{
|
||
|
public:
|
||
|
//////////////////////////////////////////////////////
|
||
|
// Public Interfaces
|
||
|
//////////////////////////////////////////////////////
|
||
|
|
||
|
// *** IUnknown ***
|
||
|
virtual STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
virtual STDMETHODIMP_(ULONG) Release(void);
|
||
|
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
|
||
|
|
||
|
// *** IShellFolderViewCB methods ***
|
||
|
virtual STDMETHODIMP MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||
|
|
||
|
public:
|
||
|
// Friend Functions
|
||
|
static HRESULT _IShellFolderViewCallBack(IShellView * psvOuter, IShellFolder * psf, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||
|
|
||
|
protected:
|
||
|
// Private Member Variables
|
||
|
int m_cRef;
|
||
|
|
||
|
IUnknown * m_psfv; // Our parent's IShellFolderView. (Same as _punkSite)
|
||
|
DWORD m_dwSignature;
|
||
|
|
||
|
enum { c_dwSignature = 0x43564642 }; // "BFVC" - BaseFolderViewCb
|
||
|
|
||
|
// Private Member Functions
|
||
|
CBaseFolderViewCB();
|
||
|
virtual ~CBaseFolderViewCB();
|
||
|
|
||
|
// We have implementations for these.
|
||
|
virtual HRESULT _OnSetISFV(IShellFolderView * psfv);
|
||
|
|
||
|
// The caller needs to provide implementations for these
|
||
|
// or they will get default behavior.
|
||
|
virtual HRESULT _OnWindowCreated(void) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnDefItemCount(LPINT pi) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnGetHelpText(LPARAM lParam, WPARAM wParam) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnGetHelpTopic(SFVM_HELPTOPIC_DATA * phtd) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnGetZone(DWORD * pdwZone, WPARAM wParam) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnGetPane(DWORD dwPaneID, DWORD * pdwPane) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnRefresh(BOOL fReload) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnDidDragDrop(DROPEFFECT de, IDataObject * pdto) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnGetDetailsOf(UINT ici, PDETAILSINFO pdi) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnInvokeCommand(UINT idc) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnMergeMenu(LPQCMINFO pqcm) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnUnMergeMenu(HMENU hMenu) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnColumnClick(UINT ici) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnGetNotify(LPITEMIDLIST * ppidl, LONG * lEvents) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnFSNotify(LPITEMIDLIST * ppidl, LONG * lEvents) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnQueryFSNotify(SHChangeNotifyEntry * pshcne) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnSize(LONG x, LONG y) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnUpdateStatusBar(void) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnThisIDList(LPITEMIDLIST * ppidl) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnAddPropertyPages(SFVM_PROPPAGE_DATA * pData) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnInitMenuPopup(HMENU hmenu, UINT idCmdFirst, UINT nIndex) {return E_NOTIMPL;};
|
||
|
virtual HRESULT _OnBackGroundEnumDone(void) {return E_NOTIMPL;};
|
||
|
};
|
||
|
|
||
|
#endif // _CBASEFOLDERVIEWCB_H
|