Page 1 of 1
Cambiar titulo en un checkbox
Posted: Wed Jun 05, 2013 2:57 pm
by J. Ernesto
Eso amigos del foro, necesito en tiempo de ejecución modificar el titulo del checkbox cuando este cambia, como lo hago?
Gracias
Re: Cambiar titulo en un checkbox
Posted: Wed Jun 05, 2013 3:36 pm
by Cgallegoa
Hola,
Prueba con
oChk:SetText(cText)
Ejemplo:
Code: Select all
#include "FiveWin.ch"
Function Inicio()
LOCAL oDlg, oChk, lVar:= .T.
DEFINE DIALOG oDlg FROM 0,0 TO 200,400 PIXEL
@ 10,10 BUTTON "Probar cambio título checkbox" OF oDlg PIXEL ACTION CambiaTituloChk(oChk)
@ 40,20 CHECKBOX oChk VAR lVar PROMPT "Título cambiante" OF oDlg PIXEL
ACTIVATE DIALOG oDlg CENTERED
Return(NIL)
Function CambiaTituloChk(oChk)
LOCAL cTitulo:="", i:=1
for i:=1 TO 10
cTitulo := "Nuevo título "+StrZero(i,3)
oChk:SetText( cTitulo )
oChk:Refresh()
SysWait(0.5)
next
Return(NIL)
Re: Cambiar titulo en un checkbox
Posted: Wed Jun 05, 2013 4:39 pm
by J. Ernesto
me genera el siguiente mensaje de error:
Error description: Error BASE/1004 Message not found: LOGICAL:SETTEXT
Args:
[ 1] = L .T.
y estoy haciéndolo de la siguiente forma: lCostos:SetText ( "Con _" )
Re: Cambiar titulo en un checkbox
Posted: Wed Jun 05, 2013 7:05 pm
by Pedro
Ernesto en la línea de tu programa, donde tienes el checkbox ¿la tienes como lCostos? "Define Checkbox lCostos......."
Lo que el amigo Gallegoa te está indicando es que si tienes :
DEFINE ó REDEFINE CHECKBOX oChk VAR lcostos PROMPT "Título cambiante" OF oDlg PIXEL
es oChk lo que debes poner con el settext, no lCostos.
Re: Cambiar titulo en un checkbox
Posted: Wed Jun 05, 2013 8:05 pm
by J. Ernesto
Pedro:
lo tengo de la forma siguiente:
@ 091, 194 CHECKBOX lCostos PROMPT "Resumen por Material" SIZE 100, 10 FONT oFont10 PIXEL OF oDlg10 COLOR nRGB ( 240, 240, 008 ), nRGB ( 008, 008, 240 )
Re: Cambiar titulo en un checkbox
Posted: Wed Jun 05, 2013 8:32 pm
by karinha
Code: Select all
#include "FiveWin.ch"
Function Inicio()
LOCAL oDlg, oChk, lVar:= .T., lCostos
DEFINE DIALOG oDlg FROM 0,0 TO 200,400 PIXEL
// ASI
@ 10,10 BUTTON "Probar cambio título checkbox" OF oDlg PIXEL ACTION CambiaTituloChk(oChk)
//@ 091, 194 CHECKBOX lCostos PROMPT "Resumen por Material" SIZE 100, 10 FONT oFont10 PIXEL OF oDlg10 COLOR nRGB ( 240, 240, 008 ), nRGB ( 008, 008, 240 )
// Ó CON ON CHANGE
@ 40,20 CHECKBOX oChk VAR lCostos PROMPT "Resumen por Material" OF oDlg PIXEL ;
ON CHANGE ( CambiaTituloChk( oChk ) )
ACTIVATE DIALOG oDlg CENTERED
Return(NIL)
Function CambiaTituloChk(oChk)
LOCAL cTitulo:="", i:=1
for i:=1 TO 10
cTitulo := "Nuevo título "+StrZero(i,3)
oChk:SetText( cTitulo )
oChk:Refresh()
SysWait(0.5)
next
Return(NIL)
Re: Cambiar titulo en un checkbox
Posted: Thu Jun 06, 2013 1:58 am
by FranciscoA
Ernesto.
Como te han mostrado los demas colegas con sus ejemplos, tienes que crear el objeto:
@ 091, 194 CHECKBOX oCbx Var lCostos PROMPT "Resumen por Material"...
Saludos.
Re: Cambiar titulo en un checkbox (Solucionado)
Posted: Thu Jun 06, 2013 3:15 pm
by J. Ernesto
Gracias por la ayuda, se me había olvidado crear el objeto.
@ 103, 194 CHECKBOX olCostos VAR lCostos PROMPT "con _" SIZE 100, 10 FONT oFont10 PIXEL OF oDlg10 COLOR nRGB ( 240, 240, 008 ), nRGB ( 008, 008, 240 ) ;
ON CHANGE ( sTitulo := IIF ( lCostos, "sin _" , "con _" ),;
olCostos:SetText ( sTitulo ) ,;
olCostos:Refresh () )[/color]
Gracias y Saludos