Activación de eventos de documento en otros entornos (no VBA)

AutoCAD ActiveX

 
Activación de eventos de documento en otros entornos (no VBA)
 
 
 

Para poder utilizar eventos de documento en VB u otro entorno que no sea VBA, es necesario crear un nuevo módulo de clase y declarar un objeto del tipo AcadDocument con eventos. Por ejemplo, suponga que se ha creado un módulo de clase nuevo denominado ModuloEventoClase. La nueva clase contiene la declaración de la aplicación con la palabra clave de VBA WithEvents.

Para crear una clase nueva y declarar un objeto Documento con eventos

  1. En VBA IDE, inserte un módulo de clase. En el menú Insertar, elija Módulo de clase.
  2. En la ventana Proyecto, elija el módulo de clase que acaba de insertar.
  3. En la ventana Propiedades, cambie el nombre de la clase por Modulo­EventoClase.
  4. Abra la ventana Código de la clase utilizando F7 o elija Código en el menú Ver.
  5. En la ventana de código de la clase, añada la siguiente línea:
Public WithEvents Doc As AcadDocument

Después de declararlo, el nuevo objeto con eventos aparece en la lista desplegable de objetos del módulo de clase. Ahora puede escribir procedimientos de evento para el nuevo objeto del módulo de clase. Al seleccionar el nuevo objeto en la lista de objetos, los eventos válidos para dicho objeto aparecerán en la lista desplegable de procedimientos.

Antes de ejecutar los procedimientos, debe conectar el objeto declarado del módulo de clase con el objeto Document. Para ello, puede utilizar el siguiente código desde cualquier módulo.

Para conectar el objeto declarado con el objeto Documento

  1. En la ventana Código del módulo principal, añada la siguiente línea a la sección de declaraciones:
    Dim X As New EventClassModule
  2. En la misma ventana, añada la siguiente subrutina:
    ub InitializeEvents()
     Set X.Doc = ThisDrawing
    End Sub
  3. En el código del módulo principal, añada una llamada a la subrutina InitializeApp:
    Call InitializeEvents

    Después de ejecutar el procedimiento InitializeEvents, el objeto Doc del módulo de clase señala al objeto de documento creado y los procedimientos de evento del módulo de clase se ejecutan siempre que se activa el evento.