Index: src/chext/DropMenuExt.h =================================================================== diff -u -N -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r8f31c461b6a91ce6818c646814bd19e740b109ef --- src/chext/DropMenuExt.h (.../DropMenuExt.h) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/chext/DropMenuExt.h (.../DropMenuExt.h) (revision 8f31c461b6a91ce6818c646814bd19e740b109ef) @@ -32,32 +32,13 @@ public CComCoClass, public IObjectWithSiteImpl, public IDispatchImpl, - public IShellExtInitImpl, - public IContextMenuImpl + public IShellExtInit, + public IContextMenu3 { public: CDropMenuExt(); ~CDropMenuExt(); -public: - class CBuffer - { - public: - CBuffer() { m_pszFiles=NULL; m_iDataSize=0; }; - void Destroy() { delete [] m_pszFiles; m_pszFiles=NULL; m_iDataSize=0; }; - ~CBuffer() { Destroy(); }; - - public: - TCHAR *m_pszFiles; - UINT m_iDataSize; - } m_bBuffer; - - TCHAR m_szDstPath[_MAX_PATH]; - UINT m_uiDropEffect; - bool m_bExplorer; // if the operation has been retrieved from explorer or from the program - - IShellExtControl* m_piShellExtControl; - DECLARE_REGISTRY_RESOURCEID(IDR_DROPMENUEXT) DECLARE_NOT_AGGREGATABLE(CDropMenuExt) @@ -77,6 +58,35 @@ STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY /*hkeyProgID*/); STDMETHOD(GetCommandString)(UINT_PTR idCmd, UINT uFlags, UINT* /*pwReserved*/, LPSTR pszName, UINT cchMax); STDMETHOD(QueryContextMenu)(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT /*idCmdLast*/, UINT uFlags); + + STDMETHOD(HandleMenuMsg)(UINT, WPARAM, LPARAM) + { + return S_FALSE; + } + + STDMETHOD(HandleMenuMsg2)(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, LRESULT* /*plResult*/) + { + return S_FALSE; + } + +protected: + class CBuffer + { + public: + CBuffer() { m_pszFiles=NULL; m_iDataSize=0; }; + void Destroy() { delete [] m_pszFiles; m_pszFiles=NULL; m_iDataSize=0; }; + ~CBuffer() { Destroy(); }; + + public: + TCHAR *m_pszFiles; + UINT m_iDataSize; + } m_bBuffer; + + TCHAR m_szDstPath[_MAX_PATH]; + UINT m_uiDropEffect; + bool m_bExplorer; // if the operation has been retrieved from explorer or from the program + + IShellExtControl* m_piShellExtControl; }; #endif //__DROPMENUEXT_H_