Page 1 of 1
Esconder control en dialogo
Posted: Thu Apr 23, 2020 2:50 pm
by jvtecheto
Hola.
Por reutilizar un diálogo me interesa esconder(que no se vea) un combobox, entonces pruebo al activar el diálogo.
ON INIT oCombo:Hide().
Pero me arroja error.
Dentro del Diálogo o también pruebo.
oCombo:Hide().
Pero tampoco me funciona.
Alguna idea?
Muchas gracias
Saludos
Jose
Re: Esconder control en dialogo
Posted: Thu Apr 23, 2020 2:56 pm
by karinha
STATIC oCombo?
Re: Esconder control en dialogo
Posted: Thu Apr 23, 2020 3:05 pm
by jvtecheto
karinha wrote:STATIC oCombo?
Pues no lo tengo como Local, debo definirlo static.
Gracias siempre por tu ayuda
Jose
Enviado desde mi POCOPHONE F1 mediante Tapatalk
Re: Esconder control en dialogo
Posted: Thu Apr 23, 2020 3:51 pm
by AngelSalom
Yo uso esta función :
Code: Select all
Function OcultaObjetos(aObjetos,lCondicion,lMostrar)
/* =================================================================================================
Ocuta los objetos de aObjetos si se cumple lcondicion. Para que funcione hay que llamar a esta
función dentor del ON Init del diálogo
--------------
Victor 21/09/2018 16:20:55
Revisión : Angel - 24/09/2018 17:37:03 - Añadido lMostrar para que muestre los objetos
Victor 09/01/2019 9:32:19 se activa el modo recursivo ya que aObjetos también puede tener items que sean arrays.
================================================================================================
*/
Loca nC, nLen:=Len (aObjetos)
DEFAULT lMostrar:=.F.
If lMostrar
For nC:=1 To nLen
If ValType(aObjetos[nC])="A"
OcultaObjetos(aObjetos[nC],lCondicion,lMostrar)
Else
aObjetos[nC]:Show()
Endif
Next
Else
If lCondicion
For nC:=1 To nLen
If ValType(aObjetos[nC])="A"
OcultaObjetos(aObjetos[nC],lCondicion,lMostrar)
Else
aObjetos[nC]:Hide()
Endif
Next
Endif
Endif
Return Nil
Re: Esconder control en dialogo
Posted: Thu Apr 23, 2020 5:46 pm
by FranciscoA
Yo lo hago como dice Angel. ( creo que se le llama Detached Local )
Code: Select all
ACTIVATE DIALOG oDlg ON INIT oCultar(oCombo)
Function oCultar(oCombo)
oCombo:Hide()
return nil
ó si se quiere ocultar varios combos del Dialog, algo asi:
ACTIVATE DIALOG oDlg ON INIT oCultar(oDlg)
Function oCultar(oDlg)
AEval(oDlg:aControls,{|o| if(upper(o:ClassName()) == "TCOMBOBOX", o:Hide,) })
return nil
Re: Esconder control en dialogo[Solucionado]
Posted: Thu Apr 23, 2020 7:14 pm
by jvtecheto
Muchas gracias Angel y FranciscoA
Muy buenas las funciones , yo no necesito tanto, pero al ver el codigo he comprendido que hay que llamar al metodo Hide() asi.
Con esto solucionado.
Saludos.
Jose.