Page 1 of 1

Boton en BtnGet

Posted: Wed Jun 26, 2019 7:10 pm
by servicomver
Es posible desactivar el Boton de un Btnget ? y activarlo solo cuando el get le introduzcan datos ??

Gracias

Re: Boton en BtnGet

Posted: Wed Jun 26, 2019 7:38 pm
by karinha
Intenta asi:

Code: Select all

STATIC lCondicion := .F.

fFUNCTION MY FUNCTION()


    REDEFINE BTNGET aGet[2] VAR XDIA PICTURE "@K!" ID 21        ;
             OF oDlgFecha FONT oFont UPDATE  WHEN( lCondicion ) ;
             COLOR nRGB( 000, 000, 000 ), nRGB( 243, 250, 200 )


RETURN NIL

EN UN VALID... o ON CHANGE
FUNCTION CONDICION( aGet )

   IF CONDICION

      lCondicion := .T.

      aGet[2]:Enable()
      aGet[2]:Refresh()

   ELSE

      lCondicion := .F.

      aGet[2]:Disable()
      aGet[2]:Refresh()

   ENDIF

RETUN( .T. )
 
Saludos.

Re: Boton en BtnGet

Posted: Thu Jul 04, 2019 3:45 pm
by servicomver
Gracias, una duda mas:
@ 1.35, 4 TBTNGET oGet2 VAR nTicket OF oDlg5 ;
SIZE 45, 12 RIGHT ;
RESOURCE "Prop" ;
PICTURE "9999999";
ACTION Cliente1(oLbx,oGet2,oGet3,oGet4);
VALID (Cliente2(@nTicket,oGet2,oGet3,oGet4,oDlg5),Libre) FONT fntArial

En ACTION Cliente1, abro un LIstbox donde el usuario selecciona un registro, al hacerlo pasa el valor al oGet2, pero tiene que darle un enter para salir del oGet2 y entrar al VALID, como hago para evitar ese enter ?, ya intente poner Libre:=.t. oGet2:LostFocus() pero no lo libera, alguna idea ?

Re: Boton en BtnGet

Posted: Thu Jul 04, 2019 3:55 pm
by karinha
Hola, usas BTNBMP ó BUTTON en el dialogo en el botton de salida por ejemplo?

BUTTON, ponga: CANCEL

BTNBMP, ponga: oBtn:lCancel := .T.

Cual versión de five usas? Se és una nueva versión, no hay porque usar BTNGET.

Mira \samples\TESTGET3.PRG GET con ACTION nativo del fivewin, mui bueno.

use tambien:

Code: Select all

   TBtnGet():lFocusClr := .T.
 

Saludos.

Re: Boton en BtnGet

Posted: Fri Jul 05, 2019 2:38 pm
by servicomver
Gracias por tu tiempo, aun no he podido hacer que se salga del Get después de seleccionar un dato en un listbox,
¿puedo "mandar" un ENTER desde linea de comando ?? para forzar la salida (tal vez no sea lo mas indicado)

gracias

Re: Boton en BtnGet

Posted: Fri Jul 05, 2019 2:57 pm
by karinha
Muestra un ejemplo simple para testes, porfa. Saludos.

Re: Boton en BtnGet

Posted: Fri Jul 05, 2019 8:10 pm
by servicomver
Gracias nuevamente, pongo un ejemplo de la situacion:

Function Menu()
local oDlg1, oLbx1, oGet2, oGet3

SET 3DLOOK ON // Microsoft 3D Look

DEFINE DIALOG oDlg5 FROM 13,15 TO 38,76 ;
TITLE "Control de Tickets " ;

nTicket:=0
Libre:=.t.
@ 0.25, 19.5 TBTNGET oGet2 VAR nTicket OF oDlg1 ;
SIZE 50, 12 ;
RESOURCE "Prop" ;
PICTURE "9999999";
ACTION Cliente1(oLbx,oGet2,oGet3); //F2
VALID (Cliente11(@nTicket,oGet2,oGet3,oDlg1),Libre) FONT fntArial

@ 2.55, 4 GET oGet3 VAR nImporte SIZE 45, 11 OF oDlg1 PICTURE "999,999.99" COLOR CLR_BLUE FONT fntArial RIGHT


ACTIVATE Dialog oDlg5
Return NIL



Function Cliente1(oLbx,oGet2,oGet3)
local oDlg5, oLbx1, oBtn51, oBtn52

SET 3DLOOK ON // Microsoft 3D Look

DEFINE DIALOG oDlg5 FROM 13,15 TO 38,76 ;
TITLE "Control de Tickets Sesion: " + Alltrim(Str(xSesion)) ;

oDlg5:lHelpIcon:=.F.

SELECT 4
USE C:\Ventas\Ventas19 Alias aSls SHARED
Go Top

TWBrowse():lHScroll:= .F.
@ .2 , .2 LISTBOX oLbx1 FIELDS Transform(aSls->Ticket,"999999"), Transform(aSls->Importe,"99999.99") ;
HEADERS "Ticket ","Importe";
FIELDSIZES 80,80;
SIZE 110, 65 OF oDlg5;
ON DBLCLICK Captura(oLbx1,oDlg5,oGet2,oGet3) FONT fntArial2

ACTIVATE Dialog oDlg5
Return NIL
*****************************************************************************************

Function Captura(oLbx1,oDlg5,oGet2,oGet3)
nTicket:=aSls->Ticket
nImporte:=aSls->Importe
oGet2:Refresh()
oGet3:Refresh()
oDlg5:End()

******AQUI NECESITO QUE AL CERRAR EL DIALOGO SE SALGA DEL oGet2, osea del BtnGet y el Foco Quede en oGet3
Return Nil

Re: Boton en BtnGet

Posted: Fri Jul 05, 2019 8:51 pm
by karinha

Code: Select all

   oGet3:SeFocus()
   oGet3:Refresh()
 

Re: Boton en BtnGet

Posted: Fri Jul 05, 2019 10:19 pm
by servicomver
Ya lo habia intentado pero no cambia al otro oGet :(

Re: Boton en BtnGet

Posted: Wed Jul 10, 2019 12:50 pm
by karinha
Donde esta esta FUNCTION Cliente11() ??

Saludos.

Re: Boton en BtnGet

Posted: Wed Jul 10, 2019 2:13 pm
by karinha

Code: Select all

#include "FiveWin.ch"

FUNCTION MENU()

   LOCAL oDlg1, oLbx1, oGet2, oGet3

   SET 3DLOOK ON // Microsoft 3D Look

   DEFINE DIALOG oDlg5 FROM 13, 15 TO 38, 76 ;
      TITLE "Control de Tickets " ;

   nTicket := 0
   Libre := .T.

   @ 0.25, 19.5 TBTNGET oGet2 VAR nTicket OF oDlg1 ;
      SIZE 50, 12 ;
      RESOURCE "Prop" ;
      PICTURE "9999999";
      ACTION Cliente1( oLbx, oGet2, oGet3 ); //F2  // oDlg1 ????
      VALID ( Cliente11( @nTicket,oGet2,oGet3,oDlg1 ), Libre ) FONT fntArial

   @ 2.55, 4 GET oGet3 VAR nImporte SIZE 45, 11 OF oDlg1 PICTURE "999,999.99" COLOR CLR_BLUE FONT fntArial RIGHT

   // MUESTRE LOS BUTTONS porfa.


   ACTIVATE Dialog oDlg5

RETURN NIL

FUNCTION Cliente11( oLbx, oGet2, oGet3 )

   LOCAL oDlg5, oLbx1, oBtn51, oBtn52

   SET 3DLOOK ON // Microsoft 3D Look

   // CAMBIE AQUI.
   SELECT 4
   USE C:\Ventas\Ventas19 ALIAS aSls SHARED
   GO TOP

   DEFINE DIALOG oDlg5 FROM 13, 15 TO 38, 76 ;
      TITLE "Control de Tickets Sesion: " + Alltrim( Str( xSesion ) ) ;

      oDlg5:lHelpIcon := .F.

   @ .2 , .2 LISTBOX oLbx1 FIELDS Transform( aSls->Ticket, "999999" ), Transform( aSls->Importe, "99999.99" ) ;
      HEADERS "Ticket ", "Importe";
      FIELDSIZES 80, 80;
      SIZE 110, 65 OF oDlg5;
      ON DBLCLICK Captura( oLbx1, oDlg5, oGet2, oGet3 ) FONT fntArial2

   TWBrowse():lHScroll := .F.  // HERNAN??

   // MUESTRE LOS BUTTONS porfa.

   ACTIVATE Dialog oDlg5

RETURN NIL

//****************************************************************************************

FUNCTION Captura( oLbx1, oDlg5, oGet2, oGet3 )

   nTicket := aSls->Ticket
   nImporte := aSls->Importe
   oGet2:Refresh()

   oGet3:SetFocus()
   oGet3:Refresh()
   oDlg5:End()

//*****AQUI NECESITO QUE AL CERRAR EL DIALOGO SE SALGA DEL oGet2, osea del BtnGet y el Foco Quede en oGet3

RETURN Nil