RE:Programacion de combo en flash
Saludos, robert:
Está un poco largo la explicación para programar el combo, pero trataré de
hacerlo.
1). Colocas un combo en el área de trabajo y en "Propiedades" le asignas un nombre de instancia (ejemplo: miCombo).
2). Para este ejemplo usaremos 2 campos de "Introducción de texto". Los
creas y les pones por nombre de instancia "comentario" y "dato". Los colocas
en el área de trabajo en la posición que más te guste (en mi archivo los puse
"comentario" encima de "dato").
De éste modo, tendrás el combo "miCombo" junto con los campos de texto en un
mismo fotograma.
Ahora vamos a aplicar el código en las acciones del fotograma (no necesitas
entrar a las Propiedades de cada campo de texto ni a las del combo, todo se
agrega desde aquí).
----------------------------------------------------------------------------------------------------------------
comentario._visible=false;
dato._visible=false;
miCombo.addItem({data:0, label:"----------"});
miCombo.addItem({data:comentario, label:"Comentarios"});
miCombo.addItem({data:dato, label:"Datos"});
var miComboListener:Object = new Object();
miComboListener.change = function(navega){
navega.target.selectedItem.data._visible=true;
}
var miComboListener2:Object = new Object();
miComboListener2.change = function(desaparece){
if(desaparece.target.label = "----------"){
comentario._visible = false;
dato._visible = false;
}
}
miCombo.addEventListener("change", miComboListener);
miCombo.addEventListener("change", miComboListener2);
---------------------------------------------------------------------------------------------------------------
Donde "comentario._visible=false;" y "dato._visible=false;" , son nuestras
dos instancias de campos de Introducción de texto, con propiedad Invisible (no
apareceran en el swf hasta que selecciones en el combo el campo que deseas
llamar).
"miCombo.addItem({data: , label: });" , mediante éste código incluímos, en
"data", el llamado a los campos de texto; y en "label", las etiquetas que deberán
leerse en las opciones del combo.
"var miComboListener:Object = new Object();" y "var miComboListener2:Object = new Object();", son los detectores o controladores de evento para el combo.
Cada controlador de evento tiene asignada una rutina o Function que se ejecuta
al detectarse el "change" o cambio de opción del combo. En el primer controlador
de eventos, creé una acción para hacer visible cada uno de los campos de
Introducción de texto que estamos usando al seleccionar la etiqueta correspondiente. Es el que llamé "navega". Al seleccionar una opción, automáticamente se vuelve invisible el campo contrario.
En el segundo detector de eventos, creé una función para hacer invisible los dos
campos de texto al seleccionar la opción sin etiqueta ( la que tiene los guiones:
"----------"). Es la function de nombre "desaparece".
Y, por último, ahora agregamos los detectores de eventos a la acción del combo:
miCombo.addEventListener("change", miComboListener);
miCombo.addEventListener("change", miComboListener2);
Este par de líneas hacen que cada vez que se ejecute el evento "change" del combo, se activen las funciones "navega" y "desaparece".
Espero que sepas cómo capturar la información de cada campo de texto... si no,
espero que otro te colabore. Hasta la próxima....
Buen día. =0)