shellextobj.h

来自「《Visual C++编程技巧典型案例解析:基础与应用篇(下)(含1CD-ROM」· C头文件 代码 · 共 55 行

H
55
字号
// ShellExtObj.h : Declaration of the CShellExtObj

#ifndef __SHELLEXTOBJ_H_
#define __SHELLEXTOBJ_H_

#include "resource.h"       // main symbols

#include <comdef.h>
#include <shlobj.h>

/////////////////////////////////////////////////////////////////////////////
// CShellExtObj
class ATL_NO_VTABLE CShellExtObj : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CShellExtObj, &CLSID_ShellExtObj>,
	public IDispatchImpl<IShellExtObj, &IID_IShellExtObj, &LIBID_SHELLEXT_TXTINFOLib>,
    public IPersistFile,
    public IQueryInfo
{
public:
	CShellExtObj()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_SHELLEXTOBJ)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CShellExtObj)
	COM_INTERFACE_ENTRY(IShellExtObj)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IPersistFile)
	COM_INTERFACE_ENTRY(IQueryInfo)
END_COM_MAP()

protected:
    // IShellExt_TxtInfo
    CString m_sFilename;

// IShellExtObj
public:
	// IPersistFile
    STDMETHOD(GetClassID)(LPCLSID)      { return E_NOTIMPL; }
    STDMETHOD(IsDirty)()                { return E_NOTIMPL; }
    STDMETHOD(Load)(LPCOLESTR, DWORD);
    STDMETHOD(Save)(LPCOLESTR, BOOL)    { return E_NOTIMPL; }
    STDMETHOD(SaveCompleted)(LPCOLESTR) { return E_NOTIMPL; }
    STDMETHOD(GetCurFile)(LPOLESTR*)    { return E_NOTIMPL; }
	// IQueryInfo
    STDMETHOD(GetInfoFlags)(DWORD*)     { return E_NOTIMPL; }
    STDMETHOD(GetInfoTip)(DWORD, LPWSTR*);
};

#endif //__SHELLEXTOBJ_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?