Está en la página 1de 9

1 - Descripción del control ShockWave

Con el ocx llamado Shockwave Flash podemos insertar e incorporar archivos con
extención swf en proyectos de vb.

Este ocx se añade a un proyecto de Visual Basic como cualquier otro desde el menú
Proyectos - Componentes o presionando conjuntamente Ctrl+t, y chequeando en la lista
de componentes ShockWave Flash

2 - Ventana Custom del control shockWave flash

Mi opinión personal, no se si estaré en lo cierto, es que lo mas cómodo y funcional es


manejar todas estas propiedades en tiempo de ejecución y no desde la ventana Custom o
desde la ventana de propiedades de Visual Basic, ya que creo que posee un bug por lo
que estuve ojeando, por lo que al cambiar una propiedad, y volver a cambiar otra
nuevamente, hay que cerrar previamente la ventana por cada modificación en las
propiedades y volver a abrirla para establecer otra, cosa muy muy incómoda.
3 - Principales propiedades
Una ves insertado el control en un formulario, desde la ventana custom o personalizado
del control, se pueden especificar las principales propiedades, como:

 Url de película : La dirección física donde se encuentra el archivo swf que se


cargará en el ocx
 Calidad: La calidad de visualización del archivo swf:, tiene varias opciones
preestablecidas para asignarle (baja, alta, la mejor)
 Escala: Posee 3 modos u opciones de escala para la película dentro del control
shockWave,
 Alinear: determina la alineación del swf dentro del control shockwave.
 Modo de ventana: Especifica el modo de la ventana que puede ser, opaco en el
cual el fondo de la misma es parte de la película, el modo transparente que no
tomará como parte del swf las áreas que no tengan contenido.
 Color del fondo: Determina el color del BackGround, es decir el color del
fondo.
 Mostrar menú. Determina si se visualizará el menú de flash al hacer click
derecho sobre el control ShockWave.
 Reproducir: esta opción permite comenzar la reproducción de la película
 Bucle: El bucle es para determinar si al llegar al último fotograma se vuelve a
reproducir la misma desde del comienzo.

4 - Propiedad scale del shockWave


Un detalle para que veas el modo de escala. Suponiendo que la película original tiene
estas dimensiones:
Con el valor NoScale se vería de las dimensiones que tenga el swf por mas que nosotros
modifiquemos las dimensiones del control Shockwave, es decir se visualizará tal como
el original.

Si colocamos la propiedad ExactFit, al cambiarle el tamaño al control, la película se


adaptará o redimensionará al tamaño del mismo, sería similar y como comparar la
propiedad Stretch del control Image de vb en la que el mapa de bits se ajusta al tamaño
del control, por ejemplo:

Solo es cuestión de que pruebes vos mismo para que te des mejor una idea de como
quedará presentado el swf dentro del Shockwave

5 - Ejemplos de como manejar el control desde código:

Para cargar una película en tiempo de ejecución:

Este ejemplo carga un swf llamado archivo.swf que se encuentra en el directorio de la


aplicación. Utilizando el método Play comenzamos la reproducción, si esta se
encuentra detenida con Stop ya sea desde el propio flash o desde el propio Visual Basic.

Private Sub Command1_Click()

With ShockwaveFlash1
.Movie = App.Path & "\archivo.swf"
'No comienza nuevamente al llegar al último fotograma de la línea de tiempo
.Loop = False
'Reproducimos
.Play

End With

End Sub

Si quisiéramos detener la cabeza lectora del swf, es decir la reproducción de la película,


podemos usar el método Stop del control shockWave . Ejemplo:

Private Sub Command2_Click()


ShockwaveFlash1.Stop
End Sub

Nota importante: Cuando nos referimos a reproducir o parar alguna película, tenemos
que tener en cuenta que estamos refiriéndonos a la línea de tiempo principal del swf
(el _root). Por lo tanto un MovieClip con su propia línea de tiempo no hará caso a estas
instrucciones ya que los MovieClips poseen sus propios líneas de tiempo. (si conoces
flash esto es muy básico, pero por las dudas no viene mal y no esta de mas aclararlo)

6 - Propiedad CurrentFrame
Si quisiéramos ver la posición de la cabeza lectora para saber el número de frame,
podemos usar la propiedad CurrentFrame

Ejemplo:

Coloca un Timer con el Interval en 100. Un swf llamado archivo.swf en el App de tu


programa, un Label1 para visualizar en el label el numero de frame y un Command1
para cargar y comenzar la reproducción.
Private Sub Command1_Click()

With ShockwaveFlash1

.Movie = App.Path & "\archivo.swf"

.Play

End With
End Sub

Private Sub Timer1_Timer()


Label1 = "Frame " & ShockwaveFlash1.CurrentFrame
End Sub

7 - Método FordWard
Este métodoavanza un Frame. Para un ejemplo de como funciona, utilizamos el
mismo ejemplo de antes, lo único que en este caso se carga en el FormLoad la película y
se detiene con Stop. Luego un Command1 cada ves que lo presiones avanzara un Frame
Por lo tanto deja el Timer1 del ejemplo anterior, También deja el Label1 y coloca como
se mencionó un command1.

Private Sub Command1_Click()

ShockwaveFlash1.Forward

End Sub

Private Sub Form_Load()


ShockwaveFlash1.Movie = App.Path & "\archivo.swf"
ShockwaveFlash1.Stop
End Sub

Private Sub Timer1_Timer()


Label1 = "Frame " & ShockwaveFlash1.CurrentFrame
End Sub
8 - Método GotoFrame
Este método o función permite posicionar la cabeza lectora de la línea de tiempo en un
Frame especifico:

Ejemplo:

Coloca un Command1 que se posicionara en el Frame y un text1 que le debemos


indicar el número de Frame

Private Sub PosicionarFrame(frame As Integer)

ShockwaveFlash1.GotoFrame frame

End Sub

Private Sub Command1_Click()


'Le enviamos al procedimiento el numero de Frame
PosicionarFrame Text1

End Sub

Private Sub Form_Load()


'cargamos
ShockwaveFlash1.Movie = App.Path & "\archivo.swf"
'Paramos la reproduccion
ShockwaveFlash1.Stop

End Sub

Si le especificamos en el ejemplo anterior en el Text1 un numero que es mayor a la


cantidad de frames del swf, no producirá error, solo irá al ultimo Frame de la película.

9 - Método Rewind
Este método rebobina la película

Ejemplo:

Coloca un Command1 y cuando lo presiones irá al primer fotograma.


Private Sub Command1_Click()
ShockwaveFlash1.Rewind 'Rebobinamos al primer fotograma
End Sub

Private Sub Form_Load()

ShockwaveFlash1.Movie = App.Path & "\archivo.swf" 'Archivo


ShockwaveFlash1.Play 'Reproducimos
ShockwaveFlash1.Loop = False 'llega al final y se detiene

End Sub

Bueno el ShockWave Flash tiene muchas otras propiedades y métodos y te comento


que lo que se vio acá es algo muy básico, pero en fin, espero que te sirva para hacerte
una idea y tener una base para empezar, y yo también espero cuando tenga un tiempo de
alargar esta página y con mas ejemplos

Como usar Flash en Visual Basic 6


Por MOiSTER el 16 November, 2007. Publicado en Small Bits. 24 Comentarios

Con este primer mini-tutorial ignauramos una nueva categoría dentro de Móchate,
“Small Bits”, en la cual postearemos tutoriales, consejos y mas, todo sobre
programación. Una de las fortalezas de Flash, es poder crear interfaces muy sencillas o
interfaces muy elaboradas graficamente, algo que en Visual Basic 6 puede llegar a ser
muy laborioso de programar. Agregando el control Shockwave Flash a tu proyecto en
Visual Basic 6, puedes llegar a tener la riqueza multimedia de Flash en tus aplicaciones
de escritorio.

Usar Flash en Visual Basic 6

Para usar Flash en Visual Basic 6, lo primero que tenemos que hacer es agregar el
control Shochwave Flash a tu proyecto, realizando los siguientes pasos:

 Crea un proyecto nuevo en Visual Basic 6, del tipo Standard EXE.


 Una vez creado tu proyecto ve a: Project (Proyecto) y selecciona la opción
Components (Componentes). También puedes presionar Control + T para ir
directamente a la ventana Components.
 En la ventana Components, selecciona la pestaña Controls, y en la lista de
controles busca el control llamado Shockwave Flash, haz click en el checkbox y
luego en Aceptar para agregar el control a tu barra de controles.
Si haz hecho bien los pasos anteriores, al final de la lista de controles aparecerá un
icono con la forma de una hoja en blanco. Este es icono que representa al control en la
barra de controles del proyecto.

Lo siguiente, es agregar el control al formulario, arrastrando el icono al formulario y a


continuación se mostrara el control en el formulario representado por una caja blanca,
ahora solo hay que agregar el código para controlar el funcionamiento de la película
Flash.

Ejemplos de coó digo:

Cargar pelicula Flash en el control:

Private Sub Form_Load()


ShockwaveFlash1.Movie = App.Path & "boton.swf"
End Sub

Enviar valores a variables:

Private Sub Form_Load()


Dim Valor as String
Valor = "Esta es una Cadena"
ShockwaveFlash1.SetVariable "_root.VariableEnFlash", Valor
End Sub

Recibir comandos enviados del Flash a Visual Basic y viceversa:


En Flash usamos el siguiente código para enviar comandos a Visual Basic.

on (release){
fscommand("TERMINAR");
}

En Visual Basic, seleccionamos la forma donde se encuentra el control Flash que


agregamos y damos doble click sobre el, para abrir la ventana de Código. En la parte
superior, en el combo box de la derecha, seleccionamos ShockwaveFlash1 y a
continuación en el de la izquierda seleccionamos FSCommand. Esto abrirá el código
para la función FSCommand del control Flash, donde podremos agregar el código a
ejecutar dependiendo del comando que se reciba desde Flash.

Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal


args _As String)
Select Case command
Case "TERMINAR"
End
Case "Abrir_Documento"
Call New_Document
End Select
End Sub

Espero que estos ejemplo de código te ayuden. En una próxima entrega hablare de como
usar el control Shockwave Flash, en Visual Basic .NET. No dudes en expresar tus dudas
en los comentarios de esta entrada.