📄 myexport.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 + -