CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

处理文档集合事件 (.NET)

2023-1-1 09:07| 发布者: admin| 查看: 851| 评论: 0|来自: AutoCAD

DocumentCollection对象事件用于响应应用程序中打开的文档。 与对象事件不同,事件在AutoCAD关闭或取消注册之前会保持注册状态。DocumentCollectionDocument

以下事件可用于对象:DocumentCollection

DocumentActivated

在激活文档窗口时触发。

DocumentActivationChanged

在活动文档窗口被停用或销毁后触发。

文档成为当前

当文档窗口设置为当前窗口并且与上一个活动文档窗口不同时触发。

文档已创建

在创建文档窗口后触发。在创建新图形或打开现有图形后发生。

DocumentCreateStarted

在创建文档窗口之前触发。在创建新图形或打开现有图形之前发生。

DocumentCreationCanceled

在取消创建新图形或打开现有图形的请求时触发。

文档销毁

在销毁文档窗口并删除其关联的数据库对象之前触发。

DocumentLockModeChanged

在文档的锁定模式更改后触发。

DocumentLockModeChangeVetoed

在锁定模式更改被否决后触发。

DocumentLockModeWillChange

在更改文档的锁定模式之前触发。

DocumentToBeActivated

在文档即将激活时触发。

DocumentToBeDeactivated

在文档即将停用时触发。

DocumentToBeDestroyedDocumentToBeDestroyed

在文档即将被销毁时触发。

启用 DocumentCollection 对象事件

下面的示例使用该事件来指示何时激活绘图窗口。事件发生时,将显示一个消息框,其中包含已激活图形的名称。DocumentActivated

VB.NET

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
 
<CommandMethod("AddDocColEvent")> _
Public Sub AddDocColEvent()
  AddHandler Application.DocumentManager.DocumentActivated, _
      AddressOf docColDocAct
End Sub
 
<CommandMethod("RemoveDocColEvent")> _
Public Sub RemoveDocColEvent()
  RemoveHandler Application.DocumentManager.DocumentActivated, _
      AddressOf docColDocAct
End Sub
 
Public Sub docColDocAct(ByVal senderObj As Object, _
                        ByVal docColDocActEvtArgs As DocumentCollectionEventArgs)
  Application.ShowAlertDialog(docColDocActEvtArgs.Document.Name & _
                              " was activated.")
End Sub

C#

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
 
[CommandMethod("AddDocColEvent")]
public void AddDocColEvent()
{
  Application.DocumentManager.DocumentActivated +=
      new DocumentCollectionEventHandler(docColDocAct);
}
 
[CommandMethod("RemoveDocColEvent")]
public void RemoveDocColEvent()
{
  Application.DocumentManager.DocumentActivated -=
      new DocumentCollectionEventHandler(docColDocAct);
}
 
public void docColDocAct(object senderObj, 
                         DocumentCollectionEventArgs docColDocActEvtArgs)
{
  Application.ShowAlertDialog(docColDocActEvtArgs.Document.Name +
                              " was activated.");
}

VBA/ActiveX 代码参考

Private Sub AcadDocument_Activate()
    ' This example intercepts the Document Activate event.
 
    MsgBox ThisDrawing.Name & " was activated."
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-1-8 19:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部