Ejecutar boton simplemente con seleccion??


([N1] sostaco) #1

A ver, intentare explicarlo porque creo que con el titulo no esta demasiado explicado.

Imaginad al usuario navegando a traves de los campos de un formulario con tabulador, la idea es que cuando llegue al boton, este queda seleccionado, pero hasta que no le da a intro, no ejecuta la accion.

Es posible hacer que se ejecute automaticamente cuando el boton es seleccionado ??

Gracias.


([N2] oscarmjuarez) #2

Buenas tardes.
Tendrías que hacer una Conexión de evento de ese control con la señal “Gana foco” y le asignas el proceso
Un saludo


([N4] velavisual) #3

@sostaco
.
Creo que haces dos preguntas y/o enfoques distintos.
.
A la segunda :

Es posible hacer que se ejecute automaticamente cuando el boton es seleccionado ??
. T e ha contestado osarmjuarez . A la primera:
la idea es que cuando llegue al boton, este queda seleccionado, pero hasta que no le da a intro, no ejecuta la accion.
. Cuando llegas al botón, éste no es ejecutado hasta que al menos pulses ESPACIO o INTRO, aunque dependerá también si tienes algún control extra sobre las teclas pulsadas, pero generalmente es así. Pruébalo. . . saludos Antonio Vela http://www.velavisual.com

([N1] sostaco) #4

@velavisual, ya se que cuando llegas al boton este no se ejecuta hasta que pulsas intro, lo que quiero precisamente es eso, que se ejecute automaticamente.


([N4] velavisual) #5

@sostaco
.
Adjunto imágenes…
.
.
saludos
Antonio Vela
http://www.velavisual.com [attachment=26091,2030] [attachment=26091,2031]






([N1] sostaco) #6

@velavisual, te comento especificamente lo que quiero hacer, porque estoy intentando hacerlo, pero no me da el resultado que quiero.

Tengo un boton que abre un localizador de maestro ( en este caso es de provincias, se llama BUSQ_PROV ) y cuando lo abro, y me sale la lista de provincias, escojo una y se rellena un campo con PROVINCIAS.NAME, hasta ahi todo normal.

Creo un manejador de evento, y una conexion de evento, la instruccion del manejador de evento es:

  • Localizador ( LOC_PROVINCIAS )
    —Libre

Luego la conexion de evento, la aplico sobre el boton BUSQ_PROV, con Gana foco en la señal, exactamente igual al ejemplo que me has puesto tu.

El problema viene en que cuando me desplazo por el formulario, al llegar al boton, si que se abre el localizador, pero cuando escojo uno, no se rellena el campo como cuando utilizo el boton. Es posible que me falte alguna linea de instruccion en el manejador pero no se cual. Habia pensado en lanzar el localizador con una accion, y en el manejador de evento, en lugar de llamar al localizador, llamar a la accion, pero probablemente el resultado seria el mismo.


([N1] jec_ebenezer) #7

Creo que lo que quieres hacer lo logras creando un botón en el formulario a este botón le asocias el comando localizar maestro y el respectivo localizador y listo al ejecutar este botón te desplegara la rejilla que hallas asociado al localizador y al seleccionar un registros te llenara el campo.

Espero te sirva.


([N1] sostaco) #8

ebenezer si, eso lo tengo claro, pero lo que quiero es que, mientras cambio de campos con TAB, al llegar al boton en cuestion, si necesidad de accionarlo, que se active solo, arriba lo he explicado creo.


([N1] wikan) #9

@sostaco, sin ánimo de ofender. Si ya tenías resuelto el tema, ¿por qué lo abres bastante ambiguo?
Si el fallo lo tienes al localizar un registro y este luego no queda asignado, no abras un tema preguntando otra cosa y luego mezclar.

@sostaco, lo que te falta es:
Leer ficha
Guardar el id
Modificar el campo en cuestión con ese id


([N1] sostaco) #10

A ver creo que ha habido un problema de entendimiento, seguramente debido a mi explicacion del problema.

Cuando digo la seleccion del boton, no me refiero al momento cuando con el raton pulsas el boton, o cuando navegando con tab haces intro con el. Al seleccionar me refiero a justo al momento anterior de darle al tab, cuando navegando con TAB, llegas al boton, que queda seleccionado, en ese momento si le das a intro, si te lo abre, pero lo que yo quiero es que se abra directamente sin necesidad de pulsar intro, como en el caso que ha expuesto velavisual, aunque no consigo hacerlo funcionar.

manuel.rd, cuando llamo al localizador desde el manejador de evento, luego no me deja “Leer ficha”


([N1] wikan) #11

Un ejemplo con mensajes
La conexión tiene que ir contra el evento que tiene asignado el botón.

[attachment=26129,2036]

Ejemplo.zip (2.67 KB)

Ejemplo.zip (2.67 KB)


([N1] sostaco) #12

manuel.rd hay un problema en ese ejemplo… cuando gana el foco en el boton, este evento se ejecuta indefinidamente. Quiero decir que me aparece el mensaje de “He ganado foco”, me aparece el localizador, modifica la variable…todo correcto. Pero cuando se supone que ha terminado el evento, se ejecuta de nuevo sin parar.

Le he añadido una intruccion “Interfaz: Establecer foco” y lo he asignado al campo siguiente. Parece que asi lo he solucionado.

Gracias a todos.