In my
OpenCAD book, I show just how easy it is to create a DRX plug-in. I start by creating a simple "Hello World" plug-in with just 22 lines of code. Here are the 22 lines:
#include "OdaCommon.h"
#include "RxDynamicModule.h"
#include "Ed/EdCommandStack.h"
#include "StaticRxObject.h"
#include "DbCommandContext.h"
#pragma comment(lib, "DD_Root_dll.lib")
class CMyCommand : public OdStaticRxObject
{
public:
const OdString groupName() const { return DD_T("MyGroup"); }
const OdString globalName() const { return OdString("MyCommand"); }
const OdString localName() const { return globalName(); }
void execute(OdEdCommandContext* pCmdCtx) { AfxMessageBox(_T("Hello World")); }
};
class CMyModule : public OdRxModule
{
OdStaticRxObject m_cmdMyCommand;
public:
void initApp() { odedRegCmds()->addCommand(&m_cmdMyCommand); }
void uninitApp() { odedRegCmds()->removeCmd(DD_T("MyGroup"), DD_T("MyCommand")); }
};
ODRX_DEFINE_DYNAMIC_MODULE(CMyModule);