La Web del Programador: Comunidad de Programadores
 
    Pregunta:  36962 - ACTIVESX EN PÁGINAS WEB
Autor:  Serafín Orillán Chaparro
Hola a tod@s.

He creado un control ActiveX con VB con el fin de meterlo en una página web que necesito, pero no sé cómo hacerlo.

¿Alguien podría decirme cómo incrustar un control ActiveX de manufactura propia en una página HTML? ¿Y cómo acceder a sus propiedades y métodos con un lenguaje de script?

Gracias por anticipado.

Un saludo

  Respuesta:  CESAR NAVA SOTO
Primero necesitas crear un archivo Inf con una estructura como la siguiente por ejemplo:

[add.code]
MiActiveX.ocx = MiActiveX.ocx ;Nombre del archivo ocx del activex

[MiActiveX.ocx]
file-win32-x86=thiscab ;No modifiques esta linea
Clsid={15138B51-7EB6-11d0-9BB7-0000C0F04C96} ;Nombre de la clase del ActiveX

Despues comprime en un archivo Cab, el archivo Inf junto con el ActiveX, y firma el archivo Cab con la utilidad SingCode. Esta utilidad la puedes bajar en www.verising.com.

Esto sirve para que cuando alguien visite la pagina, aparezca el cuadro de dialogo que pregunta: ¿Desea Bajar e instalar MiActiveX? firmado y distribuido por TuNombre. Cuando el usuario da click en Aceptar, el control ActiveX se instala y se visualiza en la pagina.

Si en tu maquina ya tienes registrado el control, lo puedes agregar a la pagina con la etiqueta object como sigue:

<OBJECT id=ProgressBar1 classid=clsid:0713E8D2-850A-101B-AFC0-4210102A8DA7>
<PARAM NAME="_ExtentX" VALUE="2646"><PARAM NAME="_ExtentY" VALUE="1323"><PARAM NAME="_Version" VALUE="327682"><PARAM NAME="BorderStyle" VALUE="0"><PARAM NAME="Appearance" VALUE="1"><PARAM NAME="MousePointer" VALUE="0"><PARAM NAME="Enabled" VALUE="1"><PARAM NAME="OLEDropMode" VALUE="0"><PARAM NAME="Min" VALUE="0"><PARAM NAME="Max" VALUE="100">
</OBJECT>

En este ejemplo se esta añadiendo un control Barra de Progreso. En tu caso cambia classid por el classid de tu ActiveX. La etiqueta parametros corresponde a los valores por default de las propiedades.

El acceso a las propiedades, metodos y eventos, se realiza igual que si estuvieras dentro de vb. Por ejemplo, si añadieramos un boton, y quisieramos que cuando se presione el boton, la barra se llene hasta la mitad, el codigo quedaria:

<script language=vbscript>
sub cmdLlena_onclick
ProgressBar1.value=50
end sub
</script>