Boton en BtnGet

Boton en BtnGet

Postby servicomver » Wed Jun 26, 2019 7:10 pm

Es posible desactivar el Boton de un Btnget ? y activarlo solo cuando el get le introduzcan datos ??

Gracias
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Boton en BtnGet

Postby karinha » Wed Jun 26, 2019 7:38 pm

Intenta asi:


Code: Select all  Expand view  RUN

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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Boton en BtnGet

Postby servicomver » Thu Jul 04, 2019 3:45 pm

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 ?
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Boton en BtnGet

Postby karinha » Thu Jul 04, 2019 3:55 pm

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  Expand view  RUN

   TBtnGet():lFocusClr := .T.
 



Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Boton en BtnGet

Postby servicomver » Fri Jul 05, 2019 2:38 pm

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
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Boton en BtnGet

Postby karinha » Fri Jul 05, 2019 2:57 pm

Muestra un ejemplo simple para testes, porfa. Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Boton en BtnGet

Postby servicomver » Fri Jul 05, 2019 8:10 pm

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
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Boton en BtnGet

Postby karinha » Fri Jul 05, 2019 8:51 pm

Code: Select all  Expand view  RUN

   oGet3:SeFocus()
   oGet3:Refresh()
 
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Boton en BtnGet

Postby servicomver » Fri Jul 05, 2019 10:19 pm

Ya lo habia intentado pero no cambia al otro oGet :(
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Boton en BtnGet

Postby karinha » Wed Jul 10, 2019 12:50 pm

Donde esta esta FUNCTION Cliente11() ??

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Boton en BtnGet

Postby karinha » Wed Jul 10, 2019 2:13 pm

Code: Select all  Expand view  RUN

#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
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 57 guests