¿Crear una propiedad en un control activex?

Estoy creando un control ActiveX, y no consigo crear una propiedad.
Quiero, por ejemplo, crear una propiedad 'NUMERO'. Voy a Herramientas, agregar procedimiento, y creo la Propiedad 'NUMERO'. Hasta aquí todo bien. Se crean las funciones
Public Property Get numero() As Variant
Public Property Let numero(ByVal vNewValue As Variant)
Genero el OCX, y abro un proyecto nuevo de tipo EXE .Le agrego el componente recién creado y puedo ver en la ventana propiedades la propiedad creada: NUMERO.
El problema es que no puedo asignarle ningún valor, ni trabajar con esa propiedad.
¿Cómo se haría esto? ¿Cómo creo una propiedad de tipo integer, por ejemplo, y trabajo con ella?
Gracias por vuestra ayuda

1 respuesta

Respuesta
1
Para trabajar con la propiedad de un control ActiveX tines que interactuar con esos dos procedimientos, por ejemplo en tu caso creaste una propiedad llamada "numero", para utilizarla seria así:
Primero decalara en el General una Variable, que es la que internamente va a contener el valor, podría ser
Dim NumeroActual as Single
y ahora colocas esto en esos eventos:
Public Property Get Numero() As Single
Numero = NumeroActual
End Property
Public Property Let Numero(ByVal vNewValue As Single)
NumeroActual = vNewValue
End Property
Fíjate que ye le cambie la propiedad de Variant a Singel ya que trabajamos con números, puedes poner el tipo de variable que quieras ( Byte, Boolen, String, etc).
El evento Property Let es el que te lee el valor que el usuario por código ingresa al control y la propiedad Property Get entrega ese valor, tanto para leerelo desde código como para mostrarlo en tiempo de diseño en la barra de proipedades.
Luego desde el código que realizas internamente, tienes que trabajar con la variable "NumeroActual" la propiedad "Nombre" es solo como interface para la aplicación.
Gracias Leosoft. Había leído en la ayuda de visual basic como hacerlo pero tenia problemas(no me aceptaba el valor ingresado...) El truco es crear la variable que soporta el contenido de la propiedad ! Me has ayudado ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas