Index: src/chext/DropMenuExt.h =================================================================== diff -u -N -rcd5a36f1507a4131ce652879565c0770b36dd953 -r0373359eff650e8cf04a5992711ef9f20347536f --- src/chext/DropMenuExt.h (.../DropMenuExt.h) (revision cd5a36f1507a4131ce652879565c0770b36dd953) +++ src/chext/DropMenuExt.h (.../DropMenuExt.h) (revision 0373359eff650e8cf04a5992711ef9f20347536f) @@ -20,14 +20,13 @@ #define __DROPMENUEXT_H_ #include "resource.h" // main symbols +#include "ActionSelector.h" ///////////////////////////////////////////////////////////////////////////// // CDropMenuExt class ATL_NO_VTABLE CDropMenuExt : public CComObjectRootEx, public CComCoClass, - public IObjectWithSiteImpl, - public IDispatchImpl, public IShellExtInit, public IContextMenu3 { @@ -41,31 +40,28 @@ DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CDropMenuExt) - COM_INTERFACE_ENTRY(IDropMenuExt) - COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(IShellExtInit) COM_INTERFACE_ENTRY(IContextMenu) - COM_INTERFACE_ENTRY(IObjectWithSite) END_COM_MAP() -// IDropMenuExt public: STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO lpici); - STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY /*hkeyProgID*/); + STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, IDataObject* piDataObject, 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(HandleMenuMsg)(UINT uMsg, WPARAM wParam, LPARAM lParam); + STDMETHOD(HandleMenuMsg2)(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); - STDMETHOD(HandleMenuMsg2)(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, LRESULT* /*plResult*/) - { - return S_FALSE; - } +protected: + HRESULT ReadFileData(IDataObject* piDataObject); protected: + TCHAR m_szDstPath[_MAX_PATH]; + + IShellExtControl* m_piShellExtControl; + TActionSelector m_asSelector; + class CBuffer { public: @@ -77,12 +73,6 @@ 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_