[vfp] Como hacer para que un objeto pierda el focus

1,933 views
Skip to first unread message

Rita Cecila Restrepo De La Hoz

unread,
Feb 23, 2012, 4:11:25 PM2/23/12
to Comunidad de Visual Foxpro en Español
Hola Chicos

Tengo un form auxiliar con botones de agregar, retirar y regresar

1.- Cuando pulso agregar me desactiva los tres botones (Simulados ya que son imagen) y me activa un objeto tex1 y espera que le digite el código. Eso lo hace.
2.- El tex1 tiene el focus y el cursor esta parpadeando.
3.- Si pulso la tecla escape o enter este me activa los tres botones iniciales y me desactiva el tex1 eso funciona bien ya que walter me explico cual era el evento, pero se queda el cursor en el tex1 inclusive desactivado.

Observaciones: Recalco los tres botones son simulados por que son objetos Image.

Este es el código, el problema es que se esta quedando el cursor parpadeante en el text5201 aunque esta desactivado

*** PROCEDIMIENTO - OBJETO - TEXTO - IDENTIFICACION
PROCEDURE text5201.KeyPress
  LPARAMETERS nKeyCode, nShiftAltCtrl
#DEFINE ENTER 13
#DEFINE ESC 27
IF nKeyCode == ENTER .or. nKeyCode == ESC
THISFORM.text5201.Visible = .F.
THISFORM.image5208_N.Visible = .F.
THISFORM.image5201_N.Visible = .T.
THISFORM.image5202_N.Visible = .T.
THISFORM.image5203_N.Visible = .T.
THISFORM.text5201.lostFocus
  NODEFAULT
ENDIF

PREGUNTA: Asi como el SETFOCUS envía el foco a un objeto, el LOSTFOCUS se lo quita o existe otro evento para forzar la perdida del focus?

Que tengan un lindo día.
Gracias.

Rita.


ZeRoberto

unread,
Feb 23, 2012, 4:24:02 PM2/23/12
to publice...@googlegroups.com
Una burda respuesta:
Crea un control invisible y date This.ControlInvisible.SetFocus()
La verdad no entendi bien lo que quieres hacer.
 
Saludos

TheNewInquirer

unread,
Feb 23, 2012, 4:32:10 PM2/23/12
to Comunidad de Visual Foxpro en Español
Tampoco entendí muy bien, pero no ayudaría configurar el Orden de
Tabulación?..

Activalo en Ver/Orden de Tabulación. (Fox 6)

View/Tab Orden. (Fox 9)

Saludos!

Antonio.xt

unread,
Feb 23, 2012, 4:43:26 PM2/23/12
to Comunidad de Visual Foxpro en Español

Rita, creo que el textbox no pierde el enfoque o focus porque no hay
ningun objeto al cual enviarle el foco, si es el SetFocus() la funcion
para enviar el enfoque a otro objeto, pero aqui parece que tratas de
enviarlo a un objeto imagen, y creo que ese objeto no puede recibir el
enfoque, y por lo mismo el cursor sigue parpadeando en el textbox.
Para probar puedes agregar un boton y manda el enfoque a ese boton
desde el textbox, veras que el textbox si pierde el enfoque y lo
recibe el boton y ya no se vera el cursor parpadeando mienstras este
en el boton.

Antonio Moreno



On 23 feb, 15:11, Rita Cecila Restrepo De La Hoz

Rita Cecila Restrepo De La Hoz

unread,
Feb 23, 2012, 4:53:02 PM2/23/12
to publice...@googlegroups.com
Chicos perdonen por mi falta de claridad.

El orden de las cosas son así:

1.- Ejecuta un formulario
2.- Muestra tres imagenes que simulan tres botones, boton 1 "Agregar", boton 2 "Retirar", boton 3 "Regresar"
21. El boton 3 funciona por que cierra el formulario. *** FUNCIONA ***
22. El boton 1 desactiva las imagenes (Botones) y activa el text1 (Objeto que espera el código a consultar). *** FUNCIONA ***
*** PROCEDIMIENTO - OBJETO - BOTON 01 - AGREGAR
PROCEDURE image5201_N.Click
VC_AGREGAR = .T.
THISFORM.image5201_N.Visible = .F.
THISFORM.image5202_N.Visible = .F.
THISFORM.image5203_N.Visible = .F.
THISFORM.image5208_N.Visible = .T.
THISFORM.text5201.Visible = .T.
THISFORM.text5201.SetFocus

23.Cuando estoy en el text1 que tiene el focus yo pudeo regresar nuevamente a los botones, para retirarme o salirme del formulario. *** TAMBIEN FUNCIONA ***
Ya que al agragarle el lost focus en el siguiente codigo el cursos del mouse (Parpadeante) se borra del text1 osea pierde el focus
*** PROCEDIMIENTO - OBJETO - TEXTO - IDENTIFICACION
PROCEDURE text5201.LostFocus
IF _IDENTIFICACION = SPACE(6)
THISFORM.text5201.Visible = .F.
THISFORM.image5208_N.Visible = .F.
THISFORM.image5201_N.Visible = .T.
THISFORM.image5202_N.Visible = .T.
THISFORM.image5203_N.Visible = .T.
THISFORM.text5201.lostFocus
ELSE
ENDIF
ENDPROC

24. Pero también podría salir con escape, no solamente con enter, AQUI NO PIERDE EL FOCUS O MAS BIEN SE QUEDA EL CURSO DEL MOUSE PARPADEANDO EN EL TEX1, ANTES LO TENIA SI SE DIERA ESCAPE O ENTER, LE QUIETE EL ENTER Y SE QUITA EL CURSOR DE MOUSE PERO CON EL ESCAPE PERMANECE
*** PROCEDIMIENTO - OBJETO - TEXTO - IDENTIFICACION
PROCEDURE text5201.KeyPress
  LPARAMETERS nKeyCode, nShiftAltCtrl
#DEFINE ESC 27
IF nKeyCode == ESC
THISFORM.text5201.Visible = .F.
THISFORM.image5208_N.Visible = .F.
THISFORM.image5201_N.Visible = .T.
THISFORM.image5202_N.Visible = .T.
THISFORM.image5203_N.Visible = .T.
THISFORM.text5201.lostFocus
  NODEFAULT
ENDIF

PREGUNTA: YO PODRIA SIMULAR UN ENTER COMO SE DA FISICAMENTE, OSEA QUE EN UN EVENTO YO PUEDA SIMULAR UN ENTER DADO POR EL USUARIO?
SI ES SI, YO PODRIA METER ESA SIMULACION DENTRO DEL ESCAPE Y CONVERTIRLO EN UN ENTER Y QUE ME LO LEA EL LOST FOCUS.

ESPERO HABER SIDO MAS CLARA.

Gracias.

Justificación.
PERDONEN MIS ENRREDOS, sino que estoy tratando en simular los programas ya realizados que tengo en el curso y que no estan hechos en fox, yo podria hacerle un boton que me diga terminar o algo asi y me evito esto, pero el programa de consulta criminal tiene un formulario o mas bien una interface que tiene las diferentes tex desactivadas y estas se activan al dar agregar, consultar o retirar, pero solo se activa el tex donde va el codigo, y al pulsar enter o escape, se desactiva el tex y se activan los botones iniciales, esa es la idea que estoy tratando de hacer.

Antonio.xt

unread,
Feb 23, 2012, 5:07:13 PM2/23/12
to Comunidad de Visual Foxpro en Español

Rita, lo que pasa es que a diferencia del Enter o Tab, el Escape no
hace nada sino tiene una funcion o instruccion relacionada a la tecla
Escape, es decir, el Enter o Tab hacen que saltes al siguiente objeto
y por lo mismo este pierde el enfoque, pero con escape no va a pasar
nada, el objeto no perdera el enfoque, a menos que tu misma se lo
indiques mediante programacion.

Si quieres que tu formulario funciones como el que mencionas de
consulta criminal si puedes hacer lo que dices, es decir, simular o
forzar un enter si se oprime la tecla Escape.

IF LASTKEY()=27
KEYBOARD "{ENTER}"
o
Thisform.OtroObjeto.SetFocus()
ENDIF

Puedes hacer la prueba con este codigo, a ver que resultados te
arroja.

OJO: Vas a colocar solo una linea dentro del IF..ENDIF, ya sea
KEYBOARD o SetFocus, solo te puse 2 opciones pero hacen lo mismo, solo
que con el SetFocus puedes mandar el enfoque a cualquier otro objeto,
y no solo al siguiente.




On 23 feb, 15:53, Rita Cecila Restrepo De La Hoz
> <thenewinquire...@gmail.com>escribió:

Rita Cecila Restrepo De La Hoz

unread,
Feb 23, 2012, 5:52:42 PM2/23/12
to publice...@googlegroups.com
Mil Gracias Antonio XT esa diferencia de comportamiento no la sabia, yo veía que con el enter me hacia una cosa y con el escape aunque tuvieran la misma linea de código no la hacia, ahora comprendo un poco mas.

Les pido me disculpen por mis preguntas muy simples, espero me tangan un poco de paciencia, estoy aprendiendo sobre la marcha teniendo mas en cuenta que estamos ya dos con el fox el resto se aburrieron del lenguaje y están concentradas en otras cosas, yo sigo viendo un gran potencial en el lenguaje.

Saludos.

Rita.

Con esto doy por cerrado este hilo, nuevamente mil y mil gracias.

Rita Cecila Restrepo De La Hoz

unread,
Feb 23, 2012, 6:04:40 PM2/23/12
to publice...@googlegroups.com
Gracias nuevamente Antonio funciono como se esperaba, lo coloque en el Keypress

*** PROCEDIMIENTO - OBJETO - TEXTO - IDENTIFICACION
PROCEDURE text5201.KeyPress
  LPARAMETERS nKeyCode, nShiftAltCtrl
#DEFINE ESC 27
IF nKeyCode == ESC
_IDENTIFICACION = SPACE(9)
KEYBOARD "{ENTER}"
ENDIF

Estoy consciente que me falta mucho para llegar al nivel de ustedes y eso hará que me esfuerce mucho mas en aprender los diferentes código, por ahora solo les pido un poco de paciencia.

Gracias.

Rita

Antonio.xt

unread,
Feb 23, 2012, 6:26:50 PM2/23/12
to Comunidad de Visual Foxpro en Español

Rita, no tienes que agradecer, me da gusto poder ayudarte, y no te
preocupes por tu nivel de programacion, vas a ver que cuando menos te
lo imaginas ya estaras en el siguiente nivel.

Saludos !!

Antonio Moreno


On 23 feb, 17:04, Rita Cecila Restrepo De La Hoz
<ritaceciliarestr...@gmail.com> wrote:
> Gracias nuevamente Antonio funciono como se esperaba, lo coloque en el
> Keypress
>
> *** PROCEDIMIENTO - OBJETO - TEXTO - IDENTIFICACION
> PROCEDURE text5201.KeyPress
>   LPARAMETERS nKeyCode, nShiftAltCtrl
> #DEFINE ESC 27
> IF nKeyCode == ESC
> _IDENTIFICACION = SPACE(9)
> KEYBOARD "{ENTER}"
> ENDIF
>
> Estoy consciente que me falta mucho para llegar al nivel de ustedes y
> eso hará que me esfuerce mucho mas en aprender los diferentes código, por
> ahora solo les pido un poco de paciencia.
>
> Gracias.
>
> Rita
>
> El 23 de febrero de 2012 17:52, Rita Cecila Restrepo De La Hoz <
> ritaceciliarestr...@gmail.com> escribió:
>
>
>
>
>
>
>
> > Mil Gracias Antonio XT esa diferencia de comportamiento no la sabia,
> > yo veía que con el enter me hacia una cosa y con el escape
> > aunque tuvieran la misma linea de código no la hacia, ahora comprendo un
> > poco mas.
>
> > Les pido me disculpen por mis preguntas muy simples, espero me tangan un
> > poco de paciencia, estoy aprendiendo sobre la marcha teniendo mas en cuenta
> > que estamos ya dos con el fox el resto se aburrieron del lenguaje
> > y están concentradas en otras cosas, yo sigo viendo un gran potencial en el
> > lenguaje.
>
> > Saludos.
>
> > Rita.
>
> > Con esto doy por cerrado este hilo, nuevamente mil y mil gracias.
>

edgar suarez kummers

unread,
Feb 23, 2012, 6:28:41 PM2/23/12
to publice...@googlegroups.com
Buenas Rita:

Te escribo en este hilo para que lo puedas leer más fácilmente.

Con los mismos algoritmos de predicción de terremotos y réplicas de ellos, un grupo de investigadores de la Universidad de Santa Clara en Silicon Valley ha hecho un software de predicción del crimen y parece que les ha funcionado.

Lo que se piensa de eso:

No hay desnudos Pre-Cogs dentro jacuzzis brillantes aún, pero el Estado de Florida Departamento de Justicia Juvenil utilizará el software de análisis para predecir el crimen por delincuentes jóvenes, poniendo los delincuentes potenciales en la prevención específica y programas de educación. Adiós, los derechos humanos!

Y sí, esta comparación es una exageración extrema. Pero una cosa está clara: no importa cómo se mire, la catalogación de las personas- de cualquier tipo de gente, basado en el software de predicción estadística, a continuación, teniendo pre-empetive acciones en su contra sobre la base de los resultados, es la equivocada manera de mejorar nuestra sociedad . Coincidiendo con este curso de acción, inevitablemente nos llevará a un camino potencialmente mortal. 

Me pica saber cual es el fondo de esos algoritmos, será que tú puedes crearle a tus profesores una inquietud para que investiguen cual es el fondo matemático del asunto.

Ahí te dejo plantada una flor de inquietudes.

Lo puedes leer en inglés en:

Allí puedes ver unas ondas de los sismógrafos, esa es la relación que desearía que les preguntaras a tus profesores. Además creo que tu decisión de continuar junto con otra chica en VFP es acertada.

http://www.dailymail.co.uk/sciencetech/article-2045678/Department-Pre-Crime-Santa-Cruz-police-test-software-predicts-criminals-strike.html

Saludos

edgar











--
edgar suarez kummers

Rita Cecila Restrepo De La Hoz

unread,
Feb 23, 2012, 7:28:33 PM2/23/12
to publice...@googlegroups.com
Hola Egdar, aquí tienen simuladores de todas la especies y son en base a interpretaciones matemáticas, el lenguaje que utilizan no lo se, pero la próxima semana vienen unos ingenieros de MIT, que desarrollaron proyectos de seguimiento gps, nada secreto mas bien comercial, pero con unas aplicaciones de simulaciones para centros tácticos de mando.

Déjame y pregunto, sobre tus inquietudes, saludos a tu hija y esperando pronto poder verla con el uniforme puesto.

Saludos.

Rita.

edgar suarez kummers

unread,
Feb 23, 2012, 7:48:38 PM2/23/12
to publice...@googlegroups.com
Buenas Rita:

Gracias por tu respuesta siempre amena y oportuna.

Pues verás, yo sí me sueño con ver a mi hija con el uniforme de policía puesto.

Las razones son las siguientes:

Hoy por hoy la institución de la policía colombiana es un ejemplo en el mundo, porque sus oficiales, incluida tú por supuesto son profesionales y con bastantes estudios encima.

Eso los categoriza a un nivel muy alto.

Referente al software de la Universidad de Santa Clara en California sería interesante saber cual es la esencia de sus algoritmos, porque bueno la predicción de terremotos por métodos usando sismógrafos tiene el mismo avance y acierto que cuando se usan un corral de gallinas y estas corren para todos lados, pero eso apenas un tiempo más bien corto antes de que suceda el evento del terremoto.

Acuérdate cuando sacaron de entre el cráter del volcán Galeras un tórax de un vulcanólogo Italiano, obviamente sin cabeza y sin piernas ... apenas el solo tórax, porque se puso a estudiar el volcán y les hizo erupción en esos momentos.

Claro que en ese entonces tú serías bebé o apenas proyecto de bebé.

Yo creería más en una predicción estadística, que es la que yo trato de hacer, pero con el sismógrafo pintando líneas sí que me confundieron ... no me explico la relación ... 

saludos linda Rita y gracias por tu tiempo

edgar
--
edgar suarez kummers
Reply all
Reply to author
Forward
0 new messages