Hola, quiero actualizar los "when" de unos botones toolbar conforme a unos datos ya probe con oBar:ForWhen() y no me hace nada, probe con oBar:aButtons[x]:Forwhen() y me da error, alguna pista...
por lo pronto lo estoy haciendo de uno por uno asi:
oBar:EnableButton( x, .T. ), pero no quiero habilitarlos directo esto conforme a la clausuala when que tiene cada boton
oBar:
salu2
paco
actualizar clausula when en botones
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
Veamos, oBar:ForWhen() no funciona porque el objeto bar es contenedor, no es el objeto perse.
oBar:aButtons[x]:Forwhen() tampoco va a funcionar porque la barra contenedora no tiene ninguna data llamada aButtons, por lo taunto cuasra error.
Haz probado con oBar:aControls[x]:ForWhen() ?????
oBar:aButtons[x]:Forwhen() tampoco va a funcionar porque la barra contenedora no tiene ninguna data llamada aButtons, por lo taunto cuasra error.
Haz probado con oBar:aControls[x]:ForWhen() ?????
Saludos
R.F.
R.F.
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
fijate que lo probe como me sugieres y me manda un error de arreglo.
Basicamente lo que hago es en un browse en una ventana y los botones, pero si el browse esta sin registros ciertos botones se deshabilitan y si tiene registros se habilitan, estaba viendo la clase toolbar y nomas veo que se evalua el bwhen al crear el objeto boton, dejo mi codigo
IF lNew .AND. (oDCaj)->(OrdKeyCount())==0
FOR x := 1 TO LEN(oBar:aButtons)
oBar:aControls[x]:ForWhen()
NEXT
ENDIF
con oBar:aButtons[x]:ForWhen() como comentas el error es no export method, algo mas?
gracias
paco
Basicamente lo que hago es en un browse en una ventana y los botones, pero si el browse esta sin registros ciertos botones se deshabilitan y si tiene registros se habilitan, estaba viendo la clase toolbar y nomas veo que se evalua el bwhen al crear el objeto boton, dejo mi codigo
IF lNew .AND. (oDCaj)->(OrdKeyCount())==0
FOR x := 1 TO LEN(oBar:aButtons)
oBar:aControls[x]:ForWhen()
NEXT
ENDIF
con oBar:aButtons[x]:ForWhen() como comentas el error es no export method, algo mas?
gracias
paco
Paco:
pruebas con
oDlg:AEvalWhen()
Arriba el "Atletico san pancho"
Armando
pruebas con
oDlg:AEvalWhen()
Arriba el "Atletico san pancho"
Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Francisco,
En la clase TToolBar modifica esta línea:
Y añade este método:
En la clase TToolBar modifica esta línea:
Code: Select all
METHOD AddButton( bAction, cToolTip, cText, bWhen, cMsg ) CLASS TToolBar
AAdd( ::aButtons, { bAction, cToolTip, cMsg,, bWhen } ) // esta
...
Code: Select all
METHOD AEvalWhen() CLASS TToolBar
local n
for n = 1 to Len( ::aButtons )
If ::aButtons[ n ][ 5 ] != nil
::EnableButton( n, Eval( ::aButtons[ n ][ 5 ] ) )
endif
next
return nil
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.