Antonio/Daniel,
Tengo algunos GETs que tienen una validacion digamos :
- Si escribo algo, busco que exista en catalogo
- Si existe lo muestro
- Si no existe mando el mansaje y regreso al mismo get
- Si esta vacio, el focus brinca a otro control
Ahora, si quiero pasarme a otra pestaña, obviamente el get pierde el focus, pero de inmediato me valida y como esta vacio se brinca al otro control.
Eso significa que debo dar 2 click para poder pasarme a la pestaña.
Que debo hacer para decirle cuando pierde focus via teclado : enter, tab, etc o cuando es por mouse y asi sepa si deba validar o no.
Saludos
Identificar/Determinar como se pierde focus..
- Raymundo Islas M.
- Posts: 590
- Joined: Tue Mar 14, 2006 11:34 pm
- Location: Acapulco, Gro. MEXICO
Identificar/Determinar como se pierde focus..
FWH 10.6 + xHarbour + Borland 582
-
- Posts: 366
- Joined: Wed Aug 30, 2006 5:25 pm
- Location: Uruguay
Re: Identificar/Determinar como se pierde focus..
Raymundo: Si te entrendí, en el Valid deberías de establecer esas condiciones.
Quizas con bChange del get tengas alguna oportunidad, es lo que se me ocurre.
Quizas con bChange del get tengas alguna oportunidad, es lo que se me ocurre.
Gracias y Saludos
Ruben Fernandez - Uruguay
FWH 11.06, Harbour, Borland 5.82
Ruben Fernandez - Uruguay
FWH 11.06, Harbour, Borland 5.82
Re: Identificar/Determinar como se pierde focus..
Raymundo,
En tu funcion de validacion
En tu funcion de validacion
Code: Select all
FUNCTION MiValid()
IF oPestaña:lFocused
RETU .T.
ENDIF
...
RETU lOk
Salutacions, saludos, regards
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
-
- Posts: 199
- Joined: Tue Apr 22, 2008 9:54 am
- Location: Valladolid, Spain.
Re: Identificar/Determinar como se pierde focus..
Raymundo,
Prueba a poner la cláusula CANCEL en la definición del FOLDER, precisamente se utiliza para eso. Te dejo un pequeño ejemplo en el que el get tiene un VALID y el folder está definido con la cláusula CANCEL. El problema mayor reside en que el usuario se puede mover por todas las pestañas del folder sin tener en cuenta los VALID. Deberás controlar este aspecto, aunque no creo que te de problemas.
Prueba a poner la cláusula CANCEL en la definición del FOLDER, precisamente se utiliza para eso. Te dejo un pequeño ejemplo en el que el get tiene un VALID y el folder está definido con la cláusula CANCEL. El problema mayor reside en que el usuario se puede mover por todas las pestañas del folder sin tener en cuenta los VALID. Deberás controlar este aspecto, aunque no creo que te de problemas.
Code: Select all
#include "fivewin.ch"
function Main()
local oDlg, oFld, cName1 := " "
DEFINE DIALOG oDlg TITLE "FiveWin Dynamic folders" ;
FROM 5, 5 TO 20, 49
@ 0.5, 1 FOLDER oFld PROMPT "&xBase", "&And OOP", "&Power" ;
OF oDlg SIZE 160, 90 CANCEL
@ 1, 1 BUTTON "&Hello" OF oFld:aDialogs[ 1 ] ;
ACTION MsgInfo( "Hello world!" )
@ 4,1 GET cName1 OF oFld:aDialogs[ 1 ] COLORS "B/BG" VALID !Empty( cName1 )
@ 5.5, 11 BUTTON "Ok" OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
- Raymundo Islas M.
- Posts: 590
- Joined: Tue Mar 14, 2006 11:34 pm
- Location: Acapulco, Gro. MEXICO
Re: Identificar/Determinar como se pierde focus..
Ruben,
Sip, al parecer en la funcion del valid ahi esta el embrollo del asunto, ya estoy analizando linea por linea para ver donde puedo corregir.
Carles,
Lo que indicas funciona parecido a una condicion que tenia, donde si no hay nada por procesar regresa el .t.
Triumvirato,
Efectivamente, puede funcionar, salvo ver que validaciones puede afectar para re-validarlas antes de algun proceso importante : grabar, procesar, etc.
Entre sus sugerencias y lo que tengo saldria la solucion, ahora, si hubiese la manera de saber algo como: oGet:nLastKeyPressed todo estaria resuelto.
Saludos y Gracias
Sip, al parecer en la funcion del valid ahi esta el embrollo del asunto, ya estoy analizando linea por linea para ver donde puedo corregir.
Carles,
Lo que indicas funciona parecido a una condicion que tenia, donde si no hay nada por procesar regresa el .t.
Triumvirato,
Efectivamente, puede funcionar, salvo ver que validaciones puede afectar para re-validarlas antes de algun proceso importante : grabar, procesar, etc.
Entre sus sugerencias y lo que tengo saldria la solucion, ahora, si hubiese la manera de saber algo como: oGet:nLastKeyPressed todo estaria resuelto.
Saludos y Gracias
FWH 10.6 + xHarbour + Borland 582
-
- Posts: 199
- Joined: Tue Apr 22, 2008 9:54 am
- Location: Valladolid, Spain.
Re: Identificar/Determinar como se pierde focus..
Raymundo,
Se me ocurre así de pronto algo como:
Esto con el get donde te sucede el problema.
Saludos!
Se me ocurre así de pronto algo como:
Code: Select all
oGet:bGotfocus := { || oFld:lCancel := .t. }
oGet:bLostFocus := { || oFld:lCancel := .f.}
Saludos!