CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

BeginCommand 事件 (ActiveX)

2024-5-18 19:09| 发布者: admin| 查看: 156| 评论: 0|原作者: admin|来自: AutoCAD

BeginCommand 事件 (ActiveX)

在发出命令后立即触发,但在命令完成之前触发。

支持的平台:仅限 Windows

签名

VBA:

object.BeginCommand(CommandName)
对象

类型: 应用

计算结果为有效容器对象的对象表达式。在这种情况下,唯一有效的容器是应用程序。

命令名称

类型:字符串

要发出的命令的名称。

言论

一旦AutoCAD收到发出命令的请求,就会触发该事件。此请求可以由用户通过AutoCAD用户界面以交互方式发出,也可以以编程方式发出。该事件后跟 AutoCAD 处理命令后的事件。如果用户取消该命令,则不会触发该事件。BeginCommandBeginCommand EndCommand EndCommand

对于任何基本的 AutoCAD 命令,或者通过 ObjectARX 应用程序在 AutoCAD 命令堆栈上注册的任何命令,或者 Visual LISP 函数,都会触发该事件。BeginCommandvlax-add-cmd

对于通过 Visual LISP 函数定义为外部子例程的 Visual LISP 函数,不会触发此事件。即使从 AutoCAD 命令行执行这些功能,这些功能也不会暴露在命令堆栈中。相反,这些函数将触发 and 事件。如果需要在执行 LISP 命令时识别它们,则需要使用 Visual LISP 函数将命令正确注册到 AutoCAD 命令堆栈。vl-acad-defun BeginLISP EndLISP vlax-add-cmd

如果取消定义AutoCAD命令,然后通过Visual LISP函数重新定义该命令,则在调用实际AutoCAD命令(例如命令“._LINE”...)之前,可能不会触发该事件。vl-acad-defunBeginCommand

AutoCAD 命令在命令堆栈中以组的形式存储。每个 AutoCAD 任务将创建一个命令堆栈实例。此堆栈由本机 AutoCAD 命令以及您添加到其中的任何自定义命令组成。

显示模式对话框时不会触发任何事件。

例子

VBA:

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
    ' This example intercepts a drawing BeginCommand event.
    '
    ' This event is triggered when a drawing receives
    ' any command compatible with this event.
    '
    ' To trigger this example event: Issue any command to an open drawing from
    ' either the command line, VBA, the AutoCAD menus, the AutoCAD toolbars, or LISP.

    ' Use the "CommandName" variable to determine which command was started
    MsgBox "A drawing has just been issued a " & CommandName & " command."
End Sub

可视化 LISP:

Not available

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-28 17:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部