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:
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
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