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

📄 dsaddin.cpp

📁 cppunit-1.12.0.rar c++代码的单元测试 运行时应先编译src文件夹内的CppUnitLibraries.dsw
💻 CPP
字号:
// AddInMod.cpp : implementation file//#include "stdafx.h"#include "DSPlugIn.h"#include "COMHelper.h"#include "DSAddIn.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCOMUtility::COMExceptionThrower CDSAddIn::cex_;CDSAddIn::~CDSAddIn( void){}// This is called when the user first loads the add-in, and on start-up//  of each subsequent Developer Studio sessionSTDMETHODIMP CDSAddIn::OnConnection(IApplication* pApp, VARIANT_BOOL bFirstTime,		long dwCookie, VARIANT_BOOL* OnConnection){  HRESULT result = S_OK;  try  {    CComPtr< IUnknown> pIUnk;	  AFX_MANAGE_STATE(AfxGetStaticModuleState());    cex_ = _Module.GetClassObject( GetObjectCLSID(), IID_IUnknown, reinterpret_cast<void**>(&pIUnk));    cex_ = CoRegisterClassObject(       GetObjectCLSID(),      pIUnk,      CLSCTX_LOCAL_SERVER,      REGCLS_MULTIPLEUSE,      &classRegistrationId_      );    pIApp_ = pApp;    m_dwCookie = dwCookie;    *OnConnection = VARIANT_TRUE;  }  catch( const std::bad_cast&)  {    *OnConnection = VARIANT_FALSE;  }  catch( const _com_error&)  {    *OnConnection = VARIANT_FALSE;  }  return result;}// This is called on shut-down, and also when the user unloads the add-inSTDMETHODIMP CDSAddIn::OnDisconnection(VARIANT_BOOL bLastTime){  pIApp_.Release();  CoRevokeClassObject( classRegistrationId_);	return S_OK;}// ITestRunnerDSPluginSTDMETHODIMP CDSAddIn::goToLineInSourceCode( BSTR fileName, int lineNumber){  HRESULT result = S_OK;	AFX_MANAGE_STATE(AfxGetStaticModuleState());  try  {    CComPtr< IDispatch> tmp;    CComPtr< IDocuments> pIDocuments;    CComPtr< ITextDocument> pITextDocu;    CComPtr< ITextSelection> pITextSel;    cex_ = pIApp_->get_Documents( &tmp);    pIDocuments.Attach( COMUtility::interface_cast<IDocuments>( tmp.p));    tmp.Release();    cex_ = pIDocuments->Open( fileName,                             CComVariant(),                             CComVariant(),                             &tmp);    pITextDocu.Attach( COMUtility::interface_cast< ITextDocument>( tmp.p));    tmp.Release();    cex_ = pITextDocu->get_Selection( &tmp);    pITextSel.Attach( COMUtility::interface_cast< ITextSelection>( tmp.p));    cex_ = pITextSel->GoToLine( lineNumber, CComVariant( 1));  }  catch( const std::bad_cast&)  {    result = E_FAIL;  }  catch( const _com_error&)  {    result = E_FAIL;  }    return result;}

⌨️ 快捷键说明

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