VALIDACIONES CON VENTANA MDICHILD CON BUTTONBAR / DLG NOMODAL CON UN FOLDER DE 2 PESTA脩AS...
Saludos, estoy incursionando en los dialogos NO MODAL, he creado mi VENTANA MDICHILD con una BUTTONBAR, mi DIALOGO NOWAIT y este a su vez contiene un FOLDER de 2 pesta帽as, la 1ra.con un XBROWSE y la 2da.con los GET de datos a solicitar, todo esto son RECURSOS, hasta aca todo bien. Mi problema es el siguiente, en las validaciones no hayo como hacer para que cuando le doy click al boton de la BUTTONBAR NUEVO y al de MODIFICAR, pase el focus al 1er.GET, le paso el focus a la pesta帽a 2 donde estan los GET ya que por defecto lo 1ro.a mostrar el la p猫sta帽a 1 don el XBROWSE, intente 2 maneras colocando los objetos y variables en funciones diferenntes por cada pesta帽a y entonces sale el ERROR de duplicidad de IDE, coloque los GET y VAR en la misma funcion donde estan todos los controles y la BUTTONBAR, y entonces nunca me toma en cuenta las validacion del WHEN del GET, como sino existieran los GET, de verdad nose que estoy haciendo mal, revise el sample ADORICK.PRG que mas o menos hace lo que quier, pero no vi ni encontre solucion a mi problema, para muestra un boton y una imagen dice mas que mil palabras, aca anexo imagen y el prg que uso.saludos...

Uploaded with ImageShack.us

Uploaded with ImageShack.us
OBJETOS DE LAS PESTA脩AS EN FUNCIONES DIFERENTES...
---------------------------------------------------------------------------------------
CON LOS OBJETOS EN LA MISMA FUNCION DONDE ESTA LA BUTTONBAR, DLG, FOLDER, WND...
Saludos, estoy incursionando en los dialogos NO MODAL, he creado mi VENTANA MDICHILD con una BUTTONBAR, mi DIALOGO NOWAIT y este a su vez contiene un FOLDER de 2 pesta帽as, la 1ra.con un XBROWSE y la 2da.con los GET de datos a solicitar, todo esto son RECURSOS, hasta aca todo bien. Mi problema es el siguiente, en las validaciones no hayo como hacer para que cuando le doy click al boton de la BUTTONBAR NUEVO y al de MODIFICAR, pase el focus al 1er.GET, le paso el focus a la pesta帽a 2 donde estan los GET ya que por defecto lo 1ro.a mostrar el la p猫sta帽a 1 don el XBROWSE, intente 2 maneras colocando los objetos y variables en funciones diferenntes por cada pesta帽a y entonces sale el ERROR de duplicidad de IDE, coloque los GET y VAR en la misma funcion donde estan todos los controles y la BUTTONBAR, y entonces nunca me toma en cuenta las validacion del WHEN del GET, como sino existieran los GET, de verdad nose que estoy haciendo mal, revise el sample ADORICK.PRG que mas o menos hace lo que quier, pero no vi ni encontre solucion a mi problema, para muestra un boton y una imagen dice mas que mil palabras, aca anexo imagen y el prg que uso.saludos...

Uploaded with ImageShack.us

Uploaded with ImageShack.us
OBJETOS DE LAS PESTA脩AS EN FUNCIONES DIFERENTES...
#include "FiveWin.ch"
#include "XBrowse.ch"
MEMVAR oDatos
STATIC oWndGrupos, oBrw, aBtnBar[10], oBar, aVar[3], aGet[3], lNew
STATIC emp_codigo := "PRUEBA"
STATIC user_codigo := "JL"
FUNCTION mgrupos()
聽 聽LOCAL oDlg, oFldx, oError, cQry, oQry
聽 聽TGet():lDisColors := .f.
聽 聽cQry := "SELECT * FROM inv_grupos " +;
聽 聽 聽 "WHERE empresa_id = '" + emp_codigo + "' " +;
聽 聽 聽 "ORDER BY gru_codigo, gru_nombre ASC"
聽 聽TRY
聽 聽 聽 oQry := TDolphinQry():New( cQry, oDatos:oConex )
聽 聽CATCH oError
聽 聽 聽 MSGSTOP( oError:description() + CRLF + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽"Error Ejecuci贸n de Sentencia en Tabla(inv_grupos): " + ;
聽 聽 聽 聽 聽 聽 聽 聽CRLF + CRLF + cQry, oDatos:cTitMsg )
聽 聽 聽 RETURN NIL
聽 聽END
聽 聽IF oWndGrupos == NIL
// DEFINO WND
聽 聽 聽 DEFINE WINDOW oWndGrupos BORDER SINGLE MDICHILD ;
聽 聽 聽 聽 聽STYLE nOr( WS_CAPTION, WS_VISIBLE, WS_SYSMENU, WS_MINIMIZEBOX ) ;
聽 聽 聽 聽 聽FROM 0, 1.0 TO 30.0, 107.0 ;
聽 聽 聽 聽 聽TITLE oDatos:cTit + "- Maestro de Grupos" ;
聽 聽 聽 聽 聽OF oDatos:oWndPPAL
// DEFINO BARRA DE BOTONES Y BOTONES
聽 聽 聽 DEFINE BUTTONBAR oBar SIZE 50, 50 OF oWndGrupos 2010
聽 聽 聽 oBar:bRClicked := {|| NIL }
聽 聽 聽 DEFINE BUTTON aBtnBar[1] OF oBar NOBORDER GROUP ;
聽 聽 聽 聽 聽RESOURCE "NUEVO32" ;
聽 聽 聽 聽 聽Tooltip "Crear Registro" ;
聽 聽 聽 聽 聽ACTION ( lNew := .t., oFldx:SetOption(2), oFldx:UPDATE(), oFldx:REFRESH() ,;
聽 聽 聽 聽 聽 聽 pestana_2( oFldx, oQry ) )
聽 聽 聽 DEFINE BUTTON aBtnBar[2] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "MODIFI32" ;
聽 聽 聽 聽 聽Tooltip "Modificar Registro" ;
聽 聽 聽 聽 聽ACTION ( lNew := .f., oFldx:SetOption(2), oFldx:UPDATE(), oFldx:REFRESH() ,;
聽 聽 聽 聽 聽 聽 pestana_2( oFldx, oQry ) ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[3] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "ELIMI32" ;
聽 聽 聽 聽 聽Tooltip "Eliminar Registros" ;
聽 聽 聽 聽 聽ACTION ( eliminar( oQry, oBrw, "gru_codigo" ) ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[4] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "SALVAR32" ;
聽 聽 聽 聽 聽Tooltip "Grabar los Datos" ;
聽 聽 聽 聽 聽ACTION ( grabagrupo() ) ;
聽 聽 聽 聽 聽WHEN ( lNew <> NIL )
聽 聽 聽 DEFINE BUTTON aBtnBar[5] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "EXPOR32" ;
聽 聽 聽 聽 聽Tooltip "Exportar los Datos" ;
聽 聽 聽 聽 聽ACTION ( MSGINFO("Botones de la BAR") ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[9] OF oBar NOBORDER GROUP ;
聽 聽 聽 聽 聽RESOURCE "PRINT32" ;
聽 聽 聽 聽 聽Tooltip "Imprimir Listado" ;
聽 聽 聽 聽 聽ACTION ( oBrw:REPORT() ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[10] OF oBar NOBORDER GROUP ;
聽 聽 聽 聽 聽RESOURCE "SALIR32" ;
聽 聽 聽 聽 聽Tooltip "Salir al Menu" ;
聽 聽 聽 聽 聽ACTION ( lNew := NIL, oWndGrupos:END() )
聽 聽 聽 aBtnBar[10]:lCancel := .t.
聽 聽 聽 SET MESSAGE OF oWndGrupos TO " Inventario - Maestro de Grupos" 2007
// DEFINO DLG
聽 聽 聽 DEFINE DIALOG oDlg RESOURCE "DLG_NOWAIT" OF oWndGrupos
// DEFINO FOLDER
聽 聽 聽 REDEFINE FOLDEREX oFldx ID 401 OF oDlg ;
聽 聽 聽 聽 聽PROMPT "Listado", "Datos" ;
聽 聽 聽 聽 聽BITMAPS "CONFIG16", "GRUPO16" ;
聽 聽 聽 聽 聽DIALOGS "INV_BROWSE", "INV_CORTOS"
聽 聽 聽 pestana_1( oFldx, oQry )
聽 聽 聽 pestana_2( oFldx, oQry )
聽 聽 聽 ACTIVATE DIALOG oDlg NOWAIT ON CLICK oDlg:UPDATE ;
聽 聽 聽 聽 聽ON INIT ( oDlg:MOVE( oBar:nHeight, 0 ) ) ;
聽 聽 聽 聽 聽VALID( !GETKEYSTATE( 27 ) )//VALID ( .f. )
聽 聽 聽 ACTIVATE WINDOW oWndGrupos ;//ON INIT ( oFldx:SetFocus() ) ;
聽 聽 聽 聽 聽ON INIT oWndGrupos:SetSize( oDlg:nWidth, oDlg:nHeight, .t. ) ;
聽 聽 聽 聽 聽VALID ( oWndGrupos := NIL, .t. )
聽 聽ELSE
聽 聽 聽 oWndGrupos:Restore()
聽 聽 聽 oWndGrupos:SetFocus()
聽 聽ENDIF
RETURN NIL
STATIC FUNCTION pestana_1( oFldx, oQry )
聽 聽LOCAL aCampos := {}
聽 聽aCampos := {"gru_codigo", "gru_nombre"}
聽 聽oBrw := TXBrowse():New( oFldx:aDialogs[1] )
聽 聽WITH OBJECT oBrw
聽 聽 聽 :SetDolphin( oQry, .t., .t., aCampos )
聽 聽 聽 :nMarqueeStyle 聽 聽 聽 := MARQSTYLE_HIGHLROW
聽 聽 聽 :nStretchCol 聽 聽 聽 聽 := STRETCHCOL_LAST // STRETCHCOL_WIDEST
聽 聽 聽 :lColDividerComplete := .t.
聽 聽 聽 :lAllowColHiding 聽 聽 := .f.
聽 聽 聽 :nHeaderHeight 聽 聽 聽 := 30
聽 聽 聽 :lFooter 聽 聽 聽 聽 聽 聽 := .t.
聽 聽 聽 :lRecordSelector 聽 聽 := .t.
聽 聽 聽 :bClrStd := {|| IF( oQry:RecNo() % 2 == 0, {CLR_BLACK, CLR_WHITE} ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 {0, RGB(203,226,254)} ) }
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[1]
聽 聽 聽 :cHeader 聽 聽 聽 := "C贸digo"
聽 聽 聽 :bEditValue 聽 聽:= {|| IIF( oQry:LastRec() == 0, SPACE(10) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oQry:gru_codigo ) }
聽 聽 聽 :nHeadStrAlign := AL_CENTER
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth 聽 聽 聽 聽:= 100
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[2]
聽 聽 聽 :cHeader 聽 聽 聽 := "Nombre / Descripci贸n"
聽 聽 聽 :bEditValue 聽 聽:= {|| IIF( oQry:LastRec() == 0, SPACE(10) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oQry:gru_nombre ) }
聽 聽 聽 :nHeadStrAlign := AL_CENTER
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth 聽 聽 聽 聽:= 200
聽 聽END WITH
聽 聽oBrw:CreateFromResource(100)
聽 聽oBrw:GOTOP(); oBrw:REFRESH()
RETURN NIL
STATIC FUNCTION pestana_2( oFldx, oQry )
聽 聽oQry:REFRESH()
聽 聽aVar[1] := IF( lNew == .t., SPACE(10), IF( lNew == .f., oQry:gru_codigo, ) )
聽 聽aVar[2] := IF( lNew == .t., SPACE(50), IF( lNew == .f., oQry:gru_nombre, ) )
聽 聽aVar[3] := IF( lNew == .t., SPACE(10), IF( lNew == .f., oQry:gru_observa, ) )
聽 聽REDEFINE GET aGet[1] VAR aVar[1] ID 4004 PICTURE "@!" OF oFldx:aDialogs[2] UPDATE ;
聽 聽 聽 VALID ( existe( oQry, aVar[1], aGet[1], "gru_codigo" ) ) ;
聽 聽 聽 WHEN ( lNew == .t. )
聽 聽REDEFINE GET aGet[2] VAR aVar[2] ID 4005 OF oFldx:aDialogs[2] UPDATE ;
聽 聽 聽 VALID ( novacio( aVar[2] ) ) ;
聽 聽 聽 WHEN ( !EMPTY( aVar[1] ) )
聽 聽REDEFINE GET aGet[2] VAR aVar[2] MEMO ID 199 OF oFldx:aDialogs[2] UPDATE ; //MULTILINE
聽 聽 聽 WHEN ( !EMPTY( aVar[2] ) )
RETURN NIL---------------------------------------------------------------------------------------
CON LOS OBJETOS EN LA MISMA FUNCION DONDE ESTA LA BUTTONBAR, DLG, FOLDER, WND...
#include "FiveWin.ch"
#include "XBrowse.ch"
MEMVAR oDatos
STATIC oWndGrupos, oBrw, aBtnBar[10], oBar, aVar[3], aGet[3], lNew
STATIC emp_codigo := "PRUEBA"
STATIC user_codigo := "JL"
FUNCTION mgrupos()
聽 聽LOCAL oDlg, oFldx, oError, cQry, oQry, aCampos := {}
聽 聽TGet():lDisColors := .f.
聽 聽cQry := "SELECT * FROM inv_grupos " +;
聽 聽 聽 "WHERE empresa_id = '" + emp_codigo + "' " +;
聽 聽 聽 "ORDER BY gru_codigo, gru_nombre ASC"
聽 聽TRY
聽 聽 聽 oQry := TDolphinQry():New( cQry, oDatos:oConex )
聽 聽CATCH oError
聽 聽 聽 MSGSTOP( oError:description() + CRLF + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽"Error Ejecuci贸n de Sentencia en Tabla(inv_grupos): " + ;
聽 聽 聽 聽 聽 聽 聽 聽CRLF + CRLF + cQry, oDatos:cTitMsg )
聽 聽 聽 RETURN NIL
聽 聽END
聽 聽IF oWndGrupos == NIL
// DEFINO WND
聽 聽 聽 DEFINE WINDOW oWndGrupos BORDER SINGLE MDICHILD ;
聽 聽 聽 聽 聽STYLE nOr( WS_CAPTION, WS_VISIBLE, WS_SYSMENU, WS_MINIMIZEBOX ) ;
聽 聽 聽 聽 聽FROM 0, 1.0 TO 30.0, 107.0 ;
聽 聽 聽 聽 聽TITLE oDatos:cTit + "- Maestro de Grupos" ;
聽 聽 聽 聽 聽OF oDatos:oWndPPAL
// DEFINO BARRA DE BOTONES Y BOTONES
聽 聽 聽 DEFINE BUTTONBAR oBar SIZE 50, 50 OF oWndGrupos 2010
聽 聽 聽 oBar:bRClicked := {|| NIL }
聽 聽 聽 DEFINE BUTTON aBtnBar[1] OF oBar NOBORDER GROUP ;
聽 聽 聽 聽 聽RESOURCE "NUEVO32" ;
聽 聽 聽 聽 聽Tooltip "Crear Registro" ;
聽 聽 聽 聽 聽ACTION ( lNew := .t., oFldx:SetOption(2), oFldx:UPDATE(), oFldx:REFRESH() ,;
聽 聽 聽 聽 聽 聽 aGet[1]:SetFocus(), aGet[1]:UPDATE(), aGet[1]:REFRESH() )
聽 聽 聽 DEFINE BUTTON aBtnBar[2] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "MODIFI32" ;
聽 聽 聽 聽 聽Tooltip "Modificar Registro" ;
聽 聽 聽 聽 聽ACTION ( lNew := .f., oFldx:SetOption(2), oFldx:UPDATE(), oFldx:REFRESH() ,;
聽 聽 聽 聽 聽 聽 aGet[2]:SetFocus(), aGet[2]:UPDATE(), aGet[2]:REFRESH() ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[3] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "ELIMI32" ;
聽 聽 聽 聽 聽Tooltip "Eliminar Registros" ;
聽 聽 聽 聽 聽ACTION ( eliminar( oQry, oBrw, "gru_codigo" ) ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[4] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "SALVAR32" ;
聽 聽 聽 聽 聽Tooltip "Grabar los Datos" ;
聽 聽 聽 聽 聽ACTION ( grabagrupo() ) ;
聽 聽 聽 聽 聽WHEN ( lNew <> NIL )
聽 聽 聽 DEFINE BUTTON aBtnBar[5] OF oBar NOBORDER ;
聽 聽 聽 聽 聽RESOURCE "EXPOR32" ;
聽 聽 聽 聽 聽Tooltip "Exportar los Datos" ;
聽 聽 聽 聽 聽ACTION ( MSGINFO("Botones de la BAR") ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[9] OF oBar NOBORDER GROUP ;
聽 聽 聽 聽 聽RESOURCE "PRINT32" ;
聽 聽 聽 聽 聽Tooltip "Imprimir Listado" ;
聽 聽 聽 聽 聽ACTION ( oBrw:REPORT() ) ;
聽 聽 聽 聽 聽WHEN ( oQry:RecCount() > 0 )
聽 聽 聽 DEFINE BUTTON aBtnBar[10] OF oBar NOBORDER GROUP ;
聽 聽 聽 聽 聽RESOURCE "SALIR32" ;
聽 聽 聽 聽 聽Tooltip "Salir al Menu" ;
聽 聽 聽 聽 聽ACTION ( lNew := NIL, oWndGrupos:END() )
聽 聽 聽 aBtnBar[10]:lCancel := .t.
聽 聽 聽 SET MESSAGE OF oWndGrupos TO " Inventario - Maestro de Grupos" 2007
// DEFINO VAR
聽 聽 聽 aVar[1] := IF( lNew == .t., SPACE(10), IF( lNew == .f., oQry:gru_codigo, ) )
聽 聽 聽 aVar[2] := IF( lNew == .t., SPACE(50), IF( lNew == .f., oQry:gru_nombre, ) )
聽 聽 聽 aVar[3] := IF( lNew == .t., SPACE(10), IF( lNew == .f., oQry:gru_observa, ) )
// DEFINO DLG
聽 聽 聽 DEFINE DIALOG oDlg RESOURCE "DLG_NOWAIT" OF oWndGrupos
// DEFINO FOLDER
聽 聽 聽 REDEFINE FOLDEREX oFldx ID 401 OF oDlg ;
聽 聽 聽 聽 聽PROMPT "Listado", "Datos" ;
聽 聽 聽 聽 聽BITMAPS "CONFIG16", "GRUPO16" ;
聽 聽 聽 聽 聽DIALOGS "INV_BROWSE", "INV_CORTOS"
// DIALOGO 1
聽 聽 聽 aCampos := {"gru_codigo", "gru_nombre"}
聽 聽 聽 oBrw := TXBrowse():New( oFldx:aDialogs[1] )
聽 聽 聽 WITH OBJECT oBrw
聽 聽 聽 聽 聽:SetDolphin( oQry, .t., .t., aCampos )
聽 聽 聽 聽 聽:nMarqueeStyle 聽 聽 聽 := MARQSTYLE_HIGHLROW
聽 聽 聽 聽 聽:nStretchCol 聽 聽 聽 聽 := STRETCHCOL_LAST
聽 聽 聽 聽 聽:lColDividerComplete := .t.
聽 聽 聽 聽 聽:lAllowColHiding 聽 聽 := .f.
聽 聽 聽 聽 聽:nHeaderHeight 聽 聽 聽 := 30
聽 聽 聽 聽 聽:lFooter 聽 聽 聽 聽 聽 聽 := .t.
聽 聽 聽 聽 聽:lRecordSelector 聽 聽 := .t.
聽 聽 聽 聽 聽:bClrStd := {|| IF( oQry:RecNo() % 2 == 0, {CLR_BLACK, CLR_WHITE} ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽{0, RGB(203,226,254)} ) }
聽 聽 聽 END WITH
聽 聽 聽 WITH OBJECT oBrw:aCols[1]
聽 聽 聽 聽 聽:cHeader 聽 聽 聽 := "C贸digo"
聽 聽 聽 聽 聽:bEditValue 聽 聽:= {|| IIF( oQry:LastRec() == 0, SPACE(10) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oQry:gru_codigo ) }
聽 聽 聽 聽 聽:nHeadStrAlign := AL_CENTER
聽 聽 聽 聽 聽:nDataStrAlign := AL_LEFT
聽 聽 聽 聽 聽:nWidth 聽 聽 聽 聽:= 100
聽 聽 聽 END WITH
聽 聽 聽 WITH OBJECT oBrw:aCols[2]
聽 聽 聽 聽 聽:cHeader 聽 聽 聽 := "Nombre / Descripci贸n"
聽 聽 聽 聽 聽:bEditValue 聽 聽:= {|| IIF( oQry:LastRec() == 0, SPACE(10) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oQry:gru_nombre ) }
聽 聽 聽 聽 聽:nHeadStrAlign := AL_CENTER
聽 聽 聽 聽 聽:nDataStrAlign := AL_LEFT
聽 聽 聽 聽 聽:nWidth 聽 聽 聽 聽:= 200
聽 聽 聽 END WITH
聽 聽 聽 oBrw:CreateFromResource(100)
聽 聽 聽 oBrw:GOTOP(); oBrw:REFRESH()
// DIALOGO 2
聽 聽 聽 REDEFINE GET aGet[1] VAR aVar[1] ID 4004 PICTURE "@!" OF oFldx:aDialogs[2] UPDATE ;
聽 聽 聽 聽 聽VALID ( existe( oQry, aVar[1], aGet[1], "gru_codigo" ) ) ;
聽 聽 聽 聽 聽WHEN ( lNew == .t. )
聽 聽 聽 REDEFINE GET aGet[2] VAR aVar[2] ID 4005 OF oFldx:aDialogs[2] UPDATE ;
聽 聽 聽 聽 聽VALID ( novacio( aVar[2] ) ) ;
聽 聽 聽 聽 聽WHEN ( !EMPTY( aVar[1] ) )
聽 聽 聽 REDEFINE GET aGet[2] VAR aVar[2] MEMO ID 199 OF oFldx:aDialogs[2] UPDATE ;
聽 聽 聽 聽 聽WHEN ( !EMPTY( aVar[2] ) )
聽 聽 聽 ACTIVATE DIALOG oDlg NOWAIT ON CLICK oDlg:UPDATE ;
聽 聽 聽 聽 聽ON INIT ( oDlg:MOVE( oBar:nHeight, 0 ) ) ;
聽 聽 聽 聽 聽VALID( !GETKEYSTATE( 27 ) )//VALID ( .f. )
聽 聽 聽 ACTIVATE WINDOW oWndGrupos ;//ON INIT ( oFldx:SetFocus() ) ;
聽 聽 聽 聽 聽ON INIT oWndGrupos:SetSize( oDlg:nWidth, oDlg:nHeight, .t. ) ;
聽 聽 聽 聽 聽VALID ( oWndGrupos := NIL, .t. )
聽 聽ELSE
聽 聽 聽 oWndGrupos:Restore()
聽 聽 聽 oWndGrupos:SetFocus()
聽 聽ENDIF
RETURN NILDios no est谩 muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!