資源簡介
解決了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
評論
共有 條評論