FoxPro/Visual FoxPro - Problema con SetFocus

 
Vista:

Problema con SetFocus

Publicado por Joel (18 intervenciones) el 20/11/2002 04:18:03
Amigos. Quisiera escribir un texto en un textbox y al dar enter que me lo guarde en una variable y que el cuadro de texto !SE VUELVA A ENFOCAR! , he puesto SetFocus en los eventos LOSTFOCUS y VALID pero me manda un error que me dice que !NO DEBO HACER ESO! ¿¿¿PORQUE??? y cómo puedo solucionarlo? el error dice asi:

No se puede llamar a SetFocus desde un evento When, Valid, RangeHigh ó RangeLow.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Usa el keypressed

Publicado por Shirley (95 intervenciones) el 20/11/2002 04:36:26
Hola Joel gracias por tu ayuda, ahora te ayudo yo a tí, puedes hacerlo utilizando el keypressed=13 entonces pides que el enfoque vuelva al mismo objeto

Espero que te sirva

By Saludos de Bolivia!!!!!!!!!!!!!!!!!11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Escaner y Setfocus

Publicado por Fernando Guerrero (1 intervención) el 19/04/2014 03:42:13
Gracias !!!! Shirley
Me sirvio mucho tu consejo, puse el sig. codigo en el campo donde uso el escaner (NombreProducto)
y si regresa el setfocus() a este campo
if keypressed=13
nodefault
this.setfocus()
endif
es una pantalla de punto de venta y cada vez que uso el escaner, el cursor
debe regresar a NombreProducto
Saludos desde México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con SetFocus

Publicado por Walter (76 intervenciones) el 20/11/2002 05:29:09
Hola

Es cierto que no puedes utilizar la instrucción SET FOCUS dentro de un evento VALID, sencillamente el VFP no te permite hacerlo.

Pero sí puedes utilizarlo dentro del evento LOSTFOCUS. Prueba y verás que funciona.

Suerte

Walter.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con SetFocus

Publicado por Javier Villalobos (43 intervenciones) el 21/11/2002 17:53:58
respetando las opciones anteriores, creo que debes pensar logicamente que es lo que está pasando con el objeto al que tu quieres hacer referencia.

entendí que desean validar que la información que contiene el Text sea la necesaria, ya sea porque se encuentra en la base de datos o porque sea el tipo de data que necesitas para manejar la inoformación.

Ahora bien, cuando tu validas en el lostfocus (pierde el foco el objeto) va a realizar las operaciones que tu deseas, pero no pasa nuevamente el foco al mismo objeto, ya que inmediatamente otro objeto recibe el foco,

Segun la poca experiencia me ha dicho que al momento de validar, debes seleccionar el proximo objeto al que tu le vas a asignar el foco y dentro de él, (puede ser el when, el setfocus o el que tu desees) donde valides en objeto anterior, si la validación resulta no valida para tu criterio, le envias nuevamente el foco al objeto anteruior.

disculpa lo largo, pero pienso que asi lo entenderas mejor.

Ejemplo:

If empty(thisform.text1.value)
messagebox('No ha colocado el nombre ', 0+34,'Mensaje del
sistema')
thisform.text1.setfocus
return .f.
endif
(el return es para que hasta alli llegue la operación y no realice otras evaluaciones)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con SetFocus

Publicado por Joel (18 intervenciones) el 23/11/2002 05:18:28
Muy interesante tu opinion, pero te explico lo siguiente:
Lo que quiero es enfocar constantemente un textbox (ó un combo) porque necesito introducir un ID DE PRODUCTO mediante un lector de codigo de barras y tu sabes que el lector introduce el numero y DA UN ENTER y se ejecuta valid y lostfocus y quiero...
INTRODUCIR VARIOS CODIGOS DE BARRAS CONSECUTIVAMENTE sin que el usuario pierda el tiempo en volver a enfocar el textbox con el mouse ¿Me entiendes?, hasta ahora lo he logrado poniendo el metodo SetFocus en el evento GotFocus del siguiente control en el TabIndex (un boton de comando) pero sigo pensando que aunque ya logre lo que queria, esta no es la mejor solución pues se sacrifica el enfoque del siguiente control, espero que me haigan entendido,
NO QUIERO VALIDAR!!! !!!! QUIERO RE-ENFOCAR!!!!! un textbox consecutivamente. Gracias, esto se esta poniendo interesante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema con SetFocus

Publicado por marcelo (3 intervenciones) el 12/01/2017 17:40:10
MIRA ESTE CODIGO QUE USO EN TODAS MIS APLICACIONES

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
IF Mdown()
            *** Si es que esta haciendo Click en el boton Cancelar....
            *** o en cualquier objeto incluso el form
 
 loObj=Sys(1270)
  IF vartype(loObj)='O' &&and loObj.name<>'command2'
  loObj = NULL
  Return .t.
  endif
 
ENDIF
 
 
IF Thisform.ReleaseType>0  THEN
 
        ** Saliendo de VFP, o haciendo clik en Cerrar. No validar
 
        Return .T.
ELSE
cNombre=ALLTRIM(this.Value)
    IF EMPTY(cNombre)
       =MESSAGEBOX("Seleccione un rubro disponible desde esta lista",0+64,"Validaciòn de campos")
       RETURN 0
    ENDIF
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar