⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myexport.h

📁 方便大家使用这个插件功能 当然应用广泛!
💻 H
字号:
// MyExport.h : Declaration of the CMyExport

#ifndef __MYEXPORT_H_
#define __MYEXPORT_H_

#include "resource.h"       // main symbols
#import "C:\Excel\ExcelExport\Debug\RdInterface.dll" raw_interfaces_only, raw_native_types, no_namespace, named_guids 

/////////////////////////////////////////////////////////////////////////////
// CMyExport
class ATL_NO_VTABLE CMyExport : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CMyExport, &CLSID_MyExport>,
	public IDispatchImpl<IMyExport, &IID_IMyExport, &LIBID_TEST53Lib>,
	public IDispatchImpl<ICommand, &IID_ICommand, &LIBID_RDINTERFACELib>,
	public IDispatchImpl<ICommandSubType, &IID_ICommandSubType, &LIBID_RDINTERFACELib>
{
public:
	CMyExport()
	{
		m_nSubType = -1;
		m_sDescription = "Excel exprot 1 description";
		m_sTip = "Excel exprot 1 description";
		m_sName = "Excel exprot 1 description";
	}

DECLARE_REGISTRY_RESOURCEID(IDR_MYEXPORT)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CMyExport)
	COM_INTERFACE_ENTRY(IMyExport)
//DEL 	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY2(IDispatch, IMyExport)
	COM_INTERFACE_ENTRY(ICommand)
	COM_INTERFACE_ENTRY(ICommandSubType)
END_COM_MAP()

// IMyExport
public:
	CString m_sDescription;
	CString m_sTip;
	CString m_sName;
	long m_nSubType;
	// ICommand
	STDMETHOD(get_Name)(BSTR * pVal)
	{
		if (pVal == NULL)			return E_POINTER;
		*pVal = (_bstr_t)m_sName;		return S_OK;
	}
	STDMETHOD(get_Description)(BSTR * pVal)
	{
		if (pVal == NULL)			return E_POINTER;
		*pVal = (_bstr_t)m_sDescription;		return S_OK;
	}
	STDMETHOD(get_Tip)(BSTR * pVal)
	{
		if (pVal == NULL)			return E_POINTER;		*pVal = (_bstr_t)m_sTip;
		return S_OK;
	}
	STDMETHOD(get_Enable)(VARIANT_BOOL * pVal)
	{
		if (pVal == NULL)			return E_POINTER;
		*pVal = VARIANT_TRUE;					return S_OK;
	}
	STDMETHOD(get_Check)(VARIANT_BOOL * pVal)
	{
		if (pVal == NULL)			return E_POINTER;
		*pVal = VARIANT_FALSE;					return S_OK;
	}
	STDMETHOD(Export)()
	{
		switch(m_nSubType) {
		case 0:
			break;
		case 1:
			break;
		case 2:
			break;
		case 3:
			break;
		case 4:
			break;
		case 5:
			break;
		default:
			break;
		}
		CString sMsg;
		sMsg.Format("Export my excel [%d].",m_nSubType);
		AfxMessageBox(sMsg);
		return S_OK;
	}
	STDMETHOD(get_Image)(UINT * pVal)
	{
		if (pVal == NULL)			return E_POINTER;
		*pVal = NULL;					return S_OK;
	}
	STDMETHOD(get_Parameter)(LONG ID, VARIANT * pVal)
	{
		if (pVal == NULL)			return E_POINTER;		return S_OK;
	}
	STDMETHOD(put_Parameter)(LONG ID, VARIANT pVal)
	{
		return S_OK;
	}
// ICommandSubType
	STDMETHOD(GetCount)(LONG * pVal)
	{
		if (pVal == NULL)			return E_POINTER;
		*pVal = 5;					return S_OK;
	}
	STDMETHOD(SetSubType)(LONG newVal)
	{
		m_nSubType = newVal;
		m_sDescription.Format("My excel exprot1[SubType:%d].",newVal);
		m_sTip.Format("My excel exprot1[SubType:%d].",newVal);
		m_sName.Format("My excel exprot1[SubType:%d].",newVal);
		return S_OK;
	}
// ICommand
	STDMETHOD(Create)(LONG param)
	{
		return S_OK;
	}
	STDMETHOD(Destory)()
	{
		return S_OK;
	}
// ICommandSubType
// ICommand
// ICommandSubType
};

#endif //__MYEXPORT_H_

⌨️ 快捷键说明

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