资源简介
解决了vs2017无法使用MFC添加类的问题,包含详细过程.
代码片段和文件信息
// [!output IMPL_FILE] : 实现文件
//
#include “stdafx.h“
[!if PROJECT_NAME_HEADER]
#include “[!output PROJECT_NAME].h“
[!endif]
#include “[!output HEADER_FILE]“
[!if !MERGE_FILE]
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
[!endif]
// [!output CLASS_NAME]
[!if CREATABLE]
IMPLEMENT_DYNCREATE([!output CLASS_NAME] [!output base_CLASS])
[!else]
IMPLEMENT_DYNAMIC([!output CLASS_NAME] [!output base_CLASS])
[!endif]
[!if COLECLIENTITEM]
[!output CLASS_NAME]::[!output CLASS_NAME](COleDocument* pContainerDoc /*= NULL*/)
: COleClientItem(pContainerDoc)
[!else]
[!if CDOCobjectSERVER]
[!output CLASS_NAME]::[!output CLASS_NAME](COleServerDoc* pOwner LPOLEDOCUMENTSITE pDocSite /*= NULL*/)
: CDocobjectServer(pOwner pDocSite)
[!else]
[!if CDOCobjectSERVERITEM]
[!output CLASS_NAME]::[!output CLASS_NAME](COleServerDoc* pServerDoc BOOL bAutoDelete)
: CDocobjectServerItem(pServerDoc bAutoDelete)
[!else]
[!output CLASS_NAME]::[!output CLASS_NAME]()
[!endif]
[!endif]
[!endif]
{
[!if AUTOMATION || CREATABLE]
EnableAutomation();
[!endif]
[!if CREATABLE]
// 为了使应用程序在 OLE 自动化对象处于活动状态时保持
// 运行,构造函数调用 AfxOleLockApp。
AfxOleLockApp();
[!endif]
}
[!output CLASS_NAME]::~[!output CLASS_NAME]()
{
[!if CREATABLE]
// 为了在用 OLE 自动化创建所有对象后终止应用程序,
// 析构函数调用 AfxOleUnlockApp。
AfxOleUnlockApp();
[!endif]
}
[!if AUTOMATION || CREATABLE]
void [!output CLASS_NAME]::OnFinalRelease()
{
// 释放了对自动化对象的最后一个引用后,将调用
// OnFinalRelease。 基类将自动
// 删除该对象。 在调用该基类之前,请添加您的
// 对象所需的附加清理代码。
[!output base_CLASS]::OnFinalRelease();
}
[!endif]
BEGIN_MESSAGE_MAP([!output CLASS_NAME] [!output base_CLASS])
END_MESSAGE_MAP()
[!if AUTOMATION || CREATABLE]
BEGIN_DISPATCH_MAP([!output CLASS_NAME] [!output base_CLASS])
END_DISPATCH_MAP()
// 注意: 我们添加 IID_I[!output CLASS_NAME_ROOT] 支持
// 以支持来自 VBA 的类型安全绑定。 此 IID 必须同附加到 .IDL 文件中的
// 调度接口的 GUID 匹配。
// {[!output DISPIID_REGISTRY_FORMAT]}
static const IID IID_I[!output CLASS_NAME_ROOT] =
[!output DISPIID_STATIC_CONST_GUID_FORMAT];
BEGIN_INTERFACE_MAP([!output CLASS_NAME] [!output base_CLASS])
INTERFACE_PART([!output CLASS_NAME] IID_I[!output CLASS_NAME_ROOT] Dispatch)
END_INTERFACE_MAP()
[!endif]
[!if CREATABLE]
// {[!output CLSID_REGISTRY_FORMAT]}
IMPLEMENT_OLECREATE_FLAGS([!output CLASS_NAME] “[!output TYPEID]“ afxRegApartmentThreading [!output CLSID_IMPLEMENT_OLECREATE_FORMAT])
[!endif]
// [!output CLASS_NAME] 消息处理程序
- 上一篇:四川大学历年考研C语言试题及答案
- 下一篇:C++API中文版CHM
评论
共有 条评论