Использование COM, чтобы обратиться к AutoCAD ActiveX Автоматизация
Этот метод требует большего количества кодирования, но не полагается НА MFC.
Вызывать ActiveX Автоматизацию связывает с помощью интерфейса без MFC
1 типовая программа будет использовать COM ActiveX интерфейсы Автоматизации, чтобы добавить новое всплывающее меню к строке меню AutoCAD. Visual C++ Начала и создает новый Win32 проект Динамически компонуемой библиотеки по имени AsdkComDocSamp.
2 Добавляют соответствующие значения к проектным{*строительным*} назначениям, чтобы делать проектную{*строительную*} компоновку как программа ObjectARX. Эта программа должна связаться со следующими библиотеками:
Acad.lib
Rxapi.lib
Acrx15.lib
Acutil15.lib
Acedapi.lib
3 Добавляют новый файл определения к проекту по имени AsdkComDocSamp.def и добавляют следующие линии:
DESCRIPTION ’Autodesk AsdkCom ARX test application’
LIBRARY AsdkComDocSamp
EXPORTS acrxEntryPoint
_SetacrxPtp
acrxGetApiVersion
4 Добавляют новый исходный файл к проекту по имени AsdkComDocSamp.cpp и добавляют следующий код, чтобы делать программу ObjectARX совместимой:
#include <rxregsvc.h>
#include <aced.h>
#include <adslib.h>
// Used to add/remove the menu with the same command.
//
static bool bIsMenuLoaded = false;
void
addMenuThroughCom()
{
}
static void initApp()
{
acedRegCmds->addCommand(
"ASDK_PLAIN_COM",
"AsdkComMenu",
"ComMenu",
ACRX_CMD_MODAL,
addMenuThroughCom);
}
static void unloadApp()
{
acedRegCmds->removeGroup("ASDK_PLAIN_COM");
}
extern "C" AcRx::AppRetCode acrxEntryPoint
(AcRx::AppMsgCode msg, void* appId)
{
switch( msg )
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(appId);
acrxDynamicLinker->registerAppMDIAware(appId);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK;
}
5 Импортируют AutoCAD, напечатают библиотеку, чтобы приобрести определения для объектов COM. Добавьте следующую линию к вершине AsdkComDocSamp.cpp файла.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий