FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TFolder -Consulta
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
TFolder -Consulta
Posted: Wed Oct 12, 2011 10:29 PM
Amigos del foro

Si alguien me pudiera orientar

Estoy incursionando apenas con la clase TFolder y tengo la siguiente imangen


Y esto es parte de mi codigo
Code (fw): Select all Collapse
function Folders( pnOperacion )

   local oDlg, oFld, oCbx
   LOCAL aoObjetos := { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ;
                                nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil }
   LOCAL aoBtn := { nil, nil }
   LOCAL aoSay := { nil, nil }
   LOCAL dFecha := CTOD(" "), cMoneda := "", cId_Cli := ""
   ---------
   ---------
   ---------
   
   cNumCot   := if( pnOperacion = 1, f_GetNewIdCot(), space(6) )

   lEdita := if( pnOperacion = 1 .OR. pnOperacion = 4, .T., .F.  )

   IF pnOperacion = 1
      dFecha   := DATE()
      cMoneda  := "Pesos"
      --------
      --------
   ELSE
      cNumCot  := cotiza->numcot
      dFecha   := cotiza->fecha
      cMoneda  := IIF( cotiza->moneda = "P", "Pesos", "Dolares" )
      cId_Cli  := cotiza->id_cli
      --------
      --------
   ENDIF

   DEFINE DIALOG oDlg RESOURCE "Test" TITLE cTitulo

   REDEFINE FOLDER oFld ID 110 OF oDlg ;
      PROMPT "&Cotizacion", "Otros datos" ;
      DIALOGS "Sub1", "Sub2"
      oFld:aDialogs[1]:SetFocus()
      
   // Redefine controles dialogo 1
        
   if pnOperacion = 1
      REDEFINE GET    aoObjetos[1]  VAR cNumCot ID 101 OF oFld:aDialogs[ 1 ] UPDATE ;
         PICTURE "!!!!!!" ;
            WHEN lEdita ;
         VALID EVAL ( { || cNumCot := cero1( cNumCot), oDlg:Update(), .T. .AND. ;
                                ! f_Existe_Cotizacion( pnOperacion ) } )
         aoObjetos[1]:cToolTip := "Introduzca el Numero de pedido"
   else
      REDEFINE GET    aoObjetos[1]  VAR cNumCot ID 101 OF oFld:aDialogs[1] ;
         PICTURE "999999" ;
         WHEN .F.
   ENDIF
   
   REDEFINE SAY aoSay[1] VAR cNomVen      ID 301 OF oFld:aDialogs[ 1 ] UPDATE ;
      COLOR CLR_RED FONT oApp:fBold
   
   REDEFINE GET aoObjetos[9] VAR cId_Eqpo  ID 109 OF oFld:aDialogs[ 1 ] UPDATE ;
      PICTURE "!!!!!" ;
      BITMAP "BMP_CATALOGO" ACTION ( Catalogo( "EQPO", .T.), aoObjetos[9]:SetFocus(), oDlg:Update() ) ;
      WHEN lEdita ;
      MESSAGE "Tipo de equipo" ;
      VALID EVAL ( { || cId_Eqpo := ValCod( cId_Eqpo, "eqpo"), ;
                            IIF(empty(cId_Eqpo),(aoObjetos[9]:SetFocus(),.F.), ;
                            (cNomEqpo := eqpo->nombre, ;
                             oFld:aDialogs[1]:Update(), .T.)) } )
        aoObjetos[9]:cToolTip := "Introduzca o seleccione la clave del equipo"                        
   
   REDEFINE SAY aoSay[2] VAR cNomEqpo      ID 302 OF oFld:aDialogs[ 1 ] UPDATE ;           
      COLOR CLR_RED FONT oApp:fBold
      
    // Redefine controles dialogo 2

    REDEFINE GET aoObjetos[10] VAR cNumCot  ID 101 OF oFld:aDialogs[2] ;
       WHEN .F.
    
    REDEFINE GET aoObjetos[11] VAR cNombre1     ID 102 OF oFld:aDialogs[2] UPDATE ;
       PICTURE "@" ;
       WHEN lEdita ;
       MESSAGE "Primera linea de descripcion"
       aoObjetos[11]:cToolTip := "Introduzca descripcion"
       
   ------------------
   ------------------
   ------------------      

   REDEFINE BUTTONBMP aoBtn[1] ID 400 OF oDlg ;
    PROMPT "A&ceptar " ;
    BITMAP "BTN_OK" TEXTRIGHT ;
    ACTION oDlg:End() ;
      MESSAGE "Aceptar" UPDATE
      aoBtn[1]:cToolTip := "Presione para Continuar"

    REDEFINE BUTTONBMP aoBtn[2] ID 401 OF oDlg ;
        PROMPT "&Cancelar " BITMAP "BTN_CAN" TEXTRIGHT ;
    ACTION ( lContinuar := .F., oDlg:End() ) ;
      MESSAGE "Cancelar" UPDATE
      aoBtn[2]:cToolTip := "Presione para Cancelar"

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT oninit( oDlg )
      
    
return nil


En este folder tengo dos dialogos y quisiera saber que me hace falta para que el primer get de el primer dialogo tome el foco, que instruccion me hace falta ?

Porque solamente haciendo click en el nombre de la pestaña lo hace

De antemano muchas gracias

Saludos
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: TFolder -Consulta
Posted: Wed Oct 12, 2011 11:08 PM
Juan,

Proba :

ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oninit( oDlg ), aoObjetos[1]:SetFocus() )

Salu2, Ariel.
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: TFolder -Consulta
Posted: Thu Oct 13, 2011 12:13 AM

asegurate que el control tfolder y el get tengal el style WS_TABSTOP.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: TFolder -Consulta
Posted: Thu Oct 13, 2011 06:47 PM

Esta forma la uso para cuando AGREGO y MODIFICO, igual te recomendaria mejor usar tfolderex

ACTIVATE DIALOG oDlg CENTER ; // ACTIVA EL DIALOGO...
ON INIT ( IIF( lNew, ( aGet[1]:SetFocus(), aGet[1]:Refresh() ) ,;
( aGet[2]:SetFocus(), aGet[2]:Refresh() ) ) )

y en el recurso el folder debe ser ...CUSTOM CONTROL

SALUDOS... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: TFolder -Consulta (SOLUCIONADO)
Posted: Sat Oct 15, 2011 01:56 PM

Ariel, Carlos , Joseluis

Muchas gracias por todo, utilice aoObjetos[1]:SetFocus()

Saludos

Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com

Continue the discussion