Ayuda: ¿Cómo solucionar el problema de carga del control flash.ocx?
Uso de controles ActiveX para mostrar animaciones Flash en C++ Builder
Con el fuerte apoyo de Microsoft, cada vez más empresas de software han comenzado a admitir ActiveX, lo cual es muy importante para Xi p>
Para los amigos a los que les gusta la programación, ¡esto es algo feliz! Porque podemos llamar fácilmente a archivos OCX externos en el programa para implementar funciones complejas (Bill Gates finalmente hizo algo bueno esta vez), como en su programa > Llame a IE en el programa para mostrar archivos HTML, etc. Hoy me gustaría presentarles cómo utilizar los controles ActiveX para mostrar animaciones Flash en C++
Builder.
1. Instalar e importar el control ActiveX
El protagonista de este artículo es: swflash.ocx, este archivo viene con Windows98, en el modo predeterminado
Windows Se instalará en el directorio "Windows\System\Macromed\Flash". Si no seleccionó "Instalación predeterminada" durante la instalación, puede ir al archivo win98_68.cab en el CD de instalación de Win98 Buscar
<. p>it.Se puede decir que C++ Builder ha hecho un excelente trabajo al admitir ActiveX. Podemos
importar fácilmente controles ActiveX en el sistema: seleccione "Componente->Importar control ActiveX
", seleccione "ShockWave Flash (Versión 1.0)" en la lista de control de arriba (Figura 1) y luego
haga clic en el botón "Instalar" a continuación. Si no está en la lista de controles, significa que el control Flash ShockWave
no ha sido registrado en el sistema. No importa, podemos hacer clic en el botón "Agregar" para encontrarlo en su. computadora.
Después de instalar este archivo OCX, C++ Builder lo registrará automáticamente.
2. Programación para mostrar animación Flash
Después de que la importación sea exitosa, C++ Builder agregará un control "ShockWaveFlash" a la página ActiveX (Figura 2) para crear un nuevo proyecto. , coloque un control ShockWaveFlash en una ubicación adecuada,
ajuste su tamaño apropiadamente y luego complete su atributo "Película" con uno existente en su disco duro
Nombre del archivo de animación Flash (como c:\flash\test.swf), y luego presionamos F9 para ejecutarlo. ¿Qué tal si creamos un programa que pueda mostrar animaciones Flash sin escribir una línea de código?
¡programa!
Sin embargo, para que funcione mejor, también necesitamos comprender las propiedades y métodos del control ShockWaveFlash:
Propiedad AlignMode (tipo int) y SAlign (tipo WideString) controlar la posición de visualización de la animación
(Enumerar estas dos propiedades juntas muestra que están relacionadas entre sí, y cambiar una cambiará la otra en consecuencia
cambiará, situaciones similares no se explicará más adelante).
El rango de valores y su significado son los siguientes:
0 posición actual vacía
1 L posición actual a la izquierda
2 R posición actual a la derecha p>
3 LR La posición actual está centrada
4 T La posición actual es arriba
5 LT Arriba a la izquierda
6 TR Arriba a la derecha
7 LTR Centro superior
8 B La posición actual es inferior
9 LB Inferior izquierda
10 RB Inferior derecha
11 LRB Centro inferior
12 TB posición actual verticalmente centrado
13 LTB izquierda verticalmente centrado
14 TRB derecha verticalmente centrado
15 LTRB centro position
Las propiedades BackgroundColor (tipo int) y BGColor (tipo WideString) establecen el color de fondo
, BackgroundColor es un valor entero y BGColor es su cadena HEX.
Bucle de atributos (tipo bool) Si se muestra en un bucle
Menú de atributos (tipo bool) Si se muestra el menú contextual, se recomienda configurarlo en verdadero, porque se puede completar
La mayor parte del control sobre las animaciones Flash funciona sin que escribamos código.
Propiedad Película (tipo WideString) El nombre del archivo de la animación Flash se puede configurar dinámicamente en el estado de ejecución
Para cerrar una animación, simplemente configúrela en vacío.
Los atributos Calidad (tipo int) y Calidad2 (tipo WideString) controlan la calidad de visualización de la animación.
Generalmente, Calidad se establece en 1 para obtener efectos de visualización de alta calidad.
Los atributos ScaleMode (tipo int) y escala (tipo WideString) controlan la relación de visualización de la animación.
El rango de valores y el significado son los siguientes:
1 Modo sin bordes NoBorder
2 ExactFit se extiende a toda la pantalla
3 Vaciar tamaño original
Método PercentLoaded devuelve que la animación se ha cargado en porcentaje, puede crear una barra de progreso para mostrar el progreso de la carga de la animación.
El método LoadMovie se utiliza para cargar animaciones en la red. El nombre del archivo de animación es un valor de URL de tipo BSTR.
En C++ Builder, puede utilizar la función AnsiToOLESTR para convertir. Cadena de tipo char
En tipo BSTR.
Bueno, usando las propiedades y métodos presentados anteriormente, ¡creo que lo has usado bien! Desafortunadamente
la función del control ShockWaveFlash aún no es perfecta, por ejemplo, no puede devolver el tamaño real de la animación y
color de fondo, etc., pero para nosotros, solo necesitamos para mostrar una animación Flash específica, estos no son importantes
.
3. Registra el control ActiveX
Si quieres permitir que otros utilicen tu programa, para evitar que no instalen o registren el swflash.
ocx archivo Si el programa no se puede ejecutar, debe adjuntar el archivo OCX y registrarlo en el sistema en el programa. Hay dos métodos de registro:
Método 1: llamar al programa externo Regsvr32.exe
<. p> Registro: ShellExecute(Handle,NULL,"regsvr32.exe","swflash.ocx",NULL,SW_SHOWNORMAL);
Anti-registro: ShellExecute(Handle,NULL ,"regsvr32.exe","/u swflash.
ocx",NULL,SW_SHOWNORMAL);
Método 2: llamar al control en sí Funciones de registro y baja contenidas p>
Cada control OCX proporciona dos funciones de salida "DllRegisterServer" y "
DllUnRegisterServer", que pueden registrar y cancelar el registro del control en sí. Nosotros podemos usar
LoadLibrary. () y GetProcAddress() para llamarlos. Este es el mismo método que llama dinámicamente a la biblioteca DLL.
No entraré en detalles aquí.
4. Experiencia
Finalmente, también me gustaría presentar las habilidades de uso de controles ActiveX.
Los controles ActiveX generales no tienen archivos de ayuda. En el entorno IDE de C++Builder,
solo podemos ver sus propiedades y eventos en tiempo de diseño, entonces, ¿cómo podemos saberlo? ¿Qué pasa con sus propiedades y métodos de tiempo de ejecución
? Después de que C++ Builder importe un control ActiveX, generará el archivo de encabezado
correspondiente (*.h) en el directorio "Importaciones". ¡Simplemente ábralo y eche un vistazo y quedará claro de un vistazo!
Además, también debemos comprender el significado de varios atributos, métodos y sus parámetros, por lo que necesitamos programarlo, probarlo
y crear un programa para cada atributo y método. Queremos entender. Al hacer clic en un elemento del menú, use el cuadro de entrada para ingresar parámetros para probar el efecto. También puede crear una barra de estado para mostrar los valores de sus variables relacionadas.
Después de haber escrito tanto, me pregunto si lo entiendes. ¿Por qué no darse prisa y agregar la animación Flash más popular de la actualidad a su programa y hacer que sus amigos sientan envidia?