Тема: New/Open
как перехватить сообшения при откритии нового документа?
может ссылку подбросете если такои вопрос уже прозвучал.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → New/Open
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
как перехватить сообшения при откритии нового документа?
может ссылку подбросете если такои вопрос уже прозвучал.
Создать реактор
// acrxEntryPoint.cpp // ... [b] class CReactor : public AcEditorReactor { protected: bool mbAutoInitAndRelease; public: CReactor(const bool autoInitAndRelease =true); virtual ~CReactor(); virtual void Attach(); virtual void Detach(); virtual void commandWillStart(const ACHAR* cmdStr); }; static CReactor *pReact; [/b] ... virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) { retCode =AcRxArxApp::On_kInitAppMsg (pkt); [b]if (!pReact)pReact = new CReactor();[/b] return (retCode); } virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) { [b]if (pReact) delete pReact;[/b] AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt); return (retCode); } ... }; // закончился класс от AcRxArxApp [b] CReactor::CReactor(const bool autoInitAndRelease) : AcEditorReactor(), mbAutoInitAndRelease(autoInitAndRelease) { if(autoInitAndRelease) { if (acedEditor) acedEditor->addReactor(this); else mbAutoInitAndRelease = false ; } } CReactor::~CReactor() { Detach(); } void CReactor::Attach () { Detach(); if (!mbAutoInitAndRelease) { if (acedEditor) { acedEditor->addReactor(this); mbAutoInitAndRelease = true; } } } void CReactor::Detach() { if (mbAutoInitAndRelease) { if (acedEditor) { acedEditor->removeReactor(this); mbAutoInitAndRelease = false; } } } // а тут перехват начала любой команды void CReactor::commandWillStart(const ACHAR * cmdStr) { if(strstr(cmdStr, _T("NEW"))) { // именно здесь пиши что хочешь } AcEditorReactor::commandWillStart(cmdStr); } [/b] IMPLEMENT_ARX_ENTRYPOINT(CPlanningApp)
Вставляй только то что жирным и туда куда нужно :)
И все будет работать
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → New/Open
Форум работает на PunBB, при поддержке Informer Technologies, Inc