CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

其他应用程序执行上下文注意事项

2022-12-31 19:03| 发布者: admin| 查看: 1940| 评论: 0|来自: AutoCAD

还有一些适用于在应用程序执行上下文中执行的代码的某些功能和限制。

  • 当代码运行的执行上下文未隐式于代码结构中时,可以进行此查询以查找它是否为应用程序执行上下文:
virtual bool
AcApDocManager::isApplicationContext() const = 0;
  • 可以使用所有 ActiveX 用户输入成员,但请确保在与活动和当前文档关联的实用工具对象上调用它们。如上所述,在此上下文中获取用户输入时,将禁用文档切换。您可以通过调用获取与当前对应的实例:IAcadDocument*AcApDocument
acDocManager()->curDocument()->cDoc()->GetIDispatch(
    BOOL bAddRef);
  • 可以调用所有 ObjectARX 用户输入函数,并隐式使用当前活动文档。如上所述,在此上下文中获取用户输入时,将禁用文档切换。
  • 从应用程序上下文执行的应用程序代码可以使用以下成员函数根据需要一起或单独切换当前文档和活动文档。
virtual Acad::ErrorStatus 
setCurDocument(
    AcApDocument* pDoc,
    AcAp::DocLockMode = AcAp::kNone,
    bool activate = false) = 0;
  • 通过在提示用户输入和更改或激活当前文档之间交替,可以从单个执行上下文和单个代码序列提示来自多个文档的输入。缺点是提示输入时禁用了用户的文档切换,因此代码需要知道要切换到哪个文档。
  • 当活动文档和当前文档不同时,请注意 ActiveX 和 ObjectARX 用户输入函数将无法正常运行。使用与函数检查当前和活动文档。curDocument()mdiActiveDocument()
  • 如果应用程序离开时当前文档和活动文档不同,则下一个输入事件会将当前文档还原回活动文档。
  • 当从应用程序上下文执行的代码提示使用 ActiveX 用户输入函数进行用户输入时,将禁用自动交互式文档切换,尽管可以执行当前文档切换。

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-28 02:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部