CAD中4种反应器:按照执行的先后顺序分别为 文档反应器、编辑器反应器、数据库反应器。
文档反应器当用户输入命令和命令结束之时,文档反应器函数documentLockModeChanged(XXXXX, const char* pGlobalCmdName)函数将会被调用。
命令输入完成之后,pGlobalCmdName的值为该命令,命令结束之时pGlobalCmdName的值为#+该命令
用户可以在该函数中执行相关操作。
创建过程:第一步,新建一个类继承于AcApDocManagerReactor类,并在类中实现虚函数documentLockModeChanged。
第二部,在InitApplication中添加文档反应器,并用g_docReactor = new CMyDocReactor(); acDocManager->addReactor(g_docReactor);
第三部,在UnloadApplication中删除文档反应器,acDocManager->removeReactor(g_docReactor); delete g_docReactor;
编辑器反应器当执行用户命令之前和之后,分别会触发编辑器反应器函数commandWillStart(const char* cmdStr) commandEnded(const char* cmdStr)
创建过程:第一步,新建一个类继承于AcEditorReactor类,并在类中实现虚函数commandWillStart、commandEnded。
第二部,在InitApplication中添加文档反应器,并用g_editorReactor &