//-----------------------------------------------------------------------------
//----- acrxEntryPoint.cpp
//-----------------------------------------------------------------------------
#include "StdAfx.h"
#include "resource.h"
//-----------------------------------------------------------------------------
#define szRDS _RXST("")
//-----------------------------------------------------------------------------
//----- ObjectARX EntryPoint
class COLE2EditApp : public AcRxArxApp {
public:
COLE2EditApp () : AcRxArxApp () {}
virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {
AcRx::AppRetCode retCode = AcRxArxApp::On_kInitAppMsg (pkt) ;
return (retCode) ;
}
virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {
AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;
return (retCode) ;
}
virtual void RegisterServerComponents () {}
static void OLEOLE2Edit () {
ads_name en; ads_point p;
if (acedEntSel(L"\nВыберите OLE-объект: ", en, p) == RTNORM) {
AcDbObjectId eid; acdbGetObjectId(eid,en);
AcDbObjectPointer<AcDbOle2Frame> pFrame(eid, AcDb::kForWrite);
if (pFrame.openStatus() == Acad::eOk) {
COleClientItem *pClient = pFrame->getOleClientItem();
if (pClient) {
pClient->DoVerb(OLEIVERB_OPEN, NULL);
}
} else if (pFrame.openStatus() == Acad::eWrongObjectType) {
acutPrintf(L"\nЭто не OLE-объект!");
} else {
acutPrintf(L"\nОшибка открытия объекта!");
}
}
}
} ;
//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(COLE2EditApp)
ACED_ARXCOMMAND_ENTRY_AUTO(COLE2EditApp, OLE, OLE2Edit, OLE2Edit, ACRX_CMD_MODAL, NULL)