FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como puedo hacer esto????
Que tal, pues resulta que tengo un Form donde coloque 4 objetos BitBtn, y un componente que reproduce un clip en formato .swf, el caso es que lo que deseo hacer es que cuando yo cambie de foco entre los 4 BitBtn me cargue una diferente animacion en el objeto flash.
Es decir, al yo dar con la tecla tabular, se van seleccionando uno a uno cambiando de foco entre ellos, y lo que quiero hacer es que cuando se seleccione uno cargue en el componente flash un video, al dar tabular, se selecciona otro BitBtn y se carga un video diferente, espero que me alla explicado. Ya he intentado algunas cosas pero no funciona y es que estos componentes no tienen (o no encuentro) un evento o propiedad que me sirva para este fin, cualquier ayuda se agradece. |
#2
|
||||
|
||||
Hola megadigit, bienvenido a clubdelphi, te aconsejo leas nuestra guía de estilo, gracias.
Cita:
|
#3
|
|||
|
|||
Ok, gracias, bueno pues veras, he intentado buscar dentro de los componentes un evento que me permita saber cuando el foco esta en el BitBtn, de esta forma yo podria programar el otro componente flash (que no es problema ese ya lo tengo resuelto), pero no he podido encontrar uno que me sirva.
En realidad creo que el verdadero problema es detectar el foco en el BitBtn, ese es el detalle |
#4
|
|||
|
|||
Hola megadigit, para saber quien tiene el foco existe una propiedad heredada de TWincontrol que es la funcion Focused.
Esto es de la ayuda de delphi: Determines whether the control has input focus. function Focused: Boolean; dynamic; Description Use the Focused method to see if the control is the active control. When Focused returns True, the control has the input focus. If Focused returns False, the user cannot interact with the control. la forma de usar es simple ej: button2.focused //devuelve true o false ahora el tratamiento del evento lo tenes que hacer en la form, poniendo la keypreview a true y en el onkeyup (si lo haces en algun otro evento anterior como en el onkeypress o keydown creeria q el foco todavia no se paso), fijate quien tiene el foco usando key=KV_TAB |
#5
|
||||
|
||||
¿No te sirve el evento 'OnEnter'?, que salta cuando entras al botón ya sea con teclas o ratón.
|
#6
|
|||
|
|||
mmm, ya habia probado con OnEnter,pero algo me hiba mal y por eso no lo use, dejame probar de nuevo, y por si tienen alguna idea explico:
El programa debe hacer lo siguiente: -Mostrar 4 Opciones (4 BitBtn) y reproducir un previo diferente para cada uno -Cuando de clic a alguno de ellos, envia un dato por puerto serie (eso ya esta) Gracias por la ayuda chingolo tambien voy a probar tu opcion, y ya les cuento que paso. |
#7
|
|||
|
|||
Ya he solucionado mi "problema", disculpen las molestias, y pues bueno lo unico que hice fue lo siguiente:
Utilice el evento OnEnter como me lo propusieron, usandolo para que cuando el foco estuviera en alguno de los BitBtn se cargara la animacion o video correspondiente y para seleccionar utilice el evento OnKeyPress, programandolo asi: if(Key=='r') { //Aqui hago lo que deseo } Y listo, creo que no era gran cosa pero me encajone tanto que no podia ver la solucion, gracias por las sugerencias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como puedo hacer esto en fast report... | AFilth | Impresión | 6 | 15-02-2017 16:59:02 |
Como puedo hacer esto | stynpy29 | Varios | 7 | 12-06-2010 13:06:02 |
como hacer esto | gulder | JAVA | 1 | 15-02-2007 11:30:39 |
como puedo hacer esto con mi FireBird 1.5 | ELINK | Firebird e Interbase | 6 | 13-04-2005 20:30:46 |
Como puedo hacer esto ? | IVAND | Conexión con bases de datos | 1 | 21-07-2003 23:23:24 |
|