FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour WHEN MDICHILD/BUTTONBAR/DLG NOMODAL/FOLDER-SOLUCIONADO
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
VALIDACIONES WND MDICHILD/BUTTONBAR/DLG NOMODAL/FOLDER-RESUE
Posted: Mon Mar 11, 2013 10:37 PM
RenOmaS, Antonio, al colocar oFldx:aDialogs[2]:aEvalWhen(), oFldx:aDialogs[ 2 ]:SetFocus(), ya se ve una luz al final del tunel, solo espero no sea una luciernaga, jeje...ya hace cuando es NUEVO el focus sin problema al GET 1, pero para que lo haga cuando es modificar, debo darle 2 veces al boton MODIFICAR, ya que la primera vez, hace el cambio a dialogo 2, trae la data de los campo, pero, no deja editar los campos, como si fueses de solo lectura, le vuelvo a dar al boton y entonces si abre la edicion del GET 2 dandole al focus a este GET 2 como deberia hacerlo al primer click sobre boton modificar, aca anexo codigo de ambos botones y la funcion cargadata(), seguire intercambiando las acciones del boton modificar haber si doy con algo, gracias, saludos... :-)

BOTONES
Code (fw): Select all Collapse
      DEFINE BUTTON aBtnBar[1] OF oBar NOBORDER GROUP ;
         RESOURCE "NUEVO32" ;
         Tooltip "Crear Registro" ;
         ACTION ( lNew := .t., oFldx:SetOption(2), oFldx:aDialogs[2]:aEvalwhen() ,;
            oFldx:aDialogs[ 2 ]:SetFocus(), cargadata( oQry, aVar, aGet ) )

      DEFINE BUTTON aBtnBar[2] OF oBar NOBORDER ;
         RESOURCE "MODIFI32" ;
         Tooltip "Modificar Registro" ;
         ACTION ( lNew := .f., oFldx:SetOption(2), oFldx:aDialogs[2]:aEvalWhen() ,;
            oFldx:aDialogs[ 2 ]:SetFocus(), cargadata( oQry, aVar, aGet ) ) ;
         WHEN ( oQry:RecCount() > 0 )


FUNCION cargadata()
Code (fw): Select all Collapse
STATIC PROCEDURE cargadata( oQry, aVar, aGet )

   LOCAL nFor := 0

*? lnew

   aVar[1] := IF( lNew, SPACE(10), oQry:gru_codigo )
   aVar[2] := IF( lNew, SPACE(50), oQry:gru_nombre )
   aVar[3] := IF( lNew, SPACE(10), oQry:gru_observa )

*   IF( lNew, aGet[1]:SetFocus(), aGet[2]:SetFocus() )

   oFldx:aDialogs[2]:UPDATE()

RETURN
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: VALIDACIONES CON WND MDICHILD/BUTTONBAR/DLG NOMODAL/FOLDER
Posted: Tue Mar 12, 2013 01:44 AM

Jose Luis,

Prueba a modificar el orden de estas llamadas:

oFldx:SetOption(2), oFldx:aDialogs[2]:aEvalwhen()

a:

oFldx:aDialogs[2]:aEvalwhen(), oFldx:SetOption(2)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
VALIDACIONES CON WND MDICHILD/BUTTONBAR/DLG NOMODAL/FOLDER
Posted: Tue Mar 12, 2013 02:24 AM
Despues de tantas combinaciones y permutas, se ha resuelto el problema del focus, muchas gracias a todos los que con su paciencia dieron ideas para ayudarme a resolver el problema, aca comparto como quedo la solucion al final, gracias y saludos... :-)

CODIGO BOTONES
Code (fw): Select all Collapse
      DEFINE BUTTON aBtnBar[1] OF oBar NOBORDER GROUP ;
         RESOURCE "NUEVO32" ;
         Tooltip "Crear Registro" ;
         ACTION ( lNew := .t., cargadata( oQry, aVar, aGet ) ,;
            oFldx:aDialogs[2]:aEvalwhen(), oFldx:SetOption(2) )

      DEFINE BUTTON aBtnBar[2] OF oBar NOBORDER ;
         RESOURCE "MODIFI32" ;
         Tooltip "Modificar Registro" ;
         ACTION ( lNew := .f., cargadata( oQry, aVar, aGet ) ,;
            oFldx:aDialogs[2]:aEvalwhen(), oFldx:SetOption(2) ) ;
         WHEN ( oQry:RecCount() > 0 )


FUNCION cargadata
Code (fw): Select all Collapse
STATIC PROCEDURE cargadata( oQry, aVar, aGet )

   LOCAL nFor := 0

   aVar[1] := IF( lNew, SPACE(10), oQry:gru_codigo )
   aVar[2] := IF( lNew, SPACE(50), oQry:gru_nombre )
   aVar[3] := IF( lNew, SPACE(10), oQry:gru_observa )

   IF( lNew, aGet[1]:SetFocus(), aGet[2]:SetFocus() )

   oFldx:aDialogs[2]:UPDATE()

RETURN
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: WHEN MDICHILD/BUTTONBAR/DLG NOMODAL/FOLDER-SOLUCIONADO
Posted: Tue Mar 12, 2013 09:19 AM

muy bien :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion