www.pudn.com > ShellExtGuide6_demo.zip > SendToShlExt.h


// SendToShlExt.h : Declaration of the CSendToShlExt 
 
#ifndef __SENDTOSHLEXT_H_ 
#define __SENDTOSHLEXT_H_ 
 
#include "resource.h"       // main symbols 
#include  
#include  
 
///////////////////////////////////////////////////////////////////////////// 
// CSendToShlExt 
class ATL_NO_VTABLE CSendToShlExt :  
	public CComObjectRootEx, 
	public CComCoClass, 
	public IDispatchImpl, 
    public IPersistFile, 
    public IDropTarget 
{ 
public: 
	CSendToShlExt() 
	{ 
	} 
 
DECLARE_REGISTRY_RESOURCEID(IDR_SENDTOSHLEXT) 
 
DECLARE_PROTECT_FINAL_CONSTRUCT() 
 
BEGIN_COM_MAP(CSendToShlExt) 
	COM_INTERFACE_ENTRY(ISendToShlExt) 
	COM_INTERFACE_ENTRY(IDispatch) 
	COM_INTERFACE_ENTRY(IPersistFile) 
	COM_INTERFACE_ENTRY(IDropTarget) 
END_COM_MAP() 
 
protected: 
    // ISendToShlExt 
    CStringList m_lsDroppedFiles; 
 
public: 
    // IPersistFile 
    STDMETHOD(GetClassID)(LPCLSID)      { return E_NOTIMPL; } 
    STDMETHOD(IsDirty)()                { return E_NOTIMPL; } 
    STDMETHOD(Load)(LPCOLESTR, DWORD)   { return S_OK;      } 
    STDMETHOD(Save)(LPCOLESTR, BOOL)    { return E_NOTIMPL; } 
    STDMETHOD(SaveCompleted)(LPCOLESTR) { return E_NOTIMPL; } 
    STDMETHOD(GetCurFile)(LPOLESTR*)    { return E_NOTIMPL; } 
 
    // IDropTarget 
    STDMETHOD(DragEnter)(IDataObject* pDataObj, DWORD grfKeyState, 
                         POINTL pt, DWORD* pdwEffect); 
 
    STDMETHOD(DragOver)(DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) 
        { return E_NOTIMPL; } 
 
    STDMETHOD(DragLeave)() 
        { return S_OK; } 
 
    STDMETHOD(Drop)(IDataObject* pDataObj, DWORD grfKeyState, 
                    POINTL pt, DWORD* pdwEffect); 
}; 
 
#endif //__SENDTOSHLEXT_H_