Esconder control en dialogo

Post Reply
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Esconder control en dialogo

Post 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
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Esconder control en dialogo

Post by karinha »

STATIC oCombo?
João Santos - São Paulo - Brasil
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Esconder control en dialogo

Post 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
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
AngelSalom
Posts: 664
Joined: Fri Oct 07, 2005 7:38 am
Location: Vinaros (Castellón ) - España
Contact:

Re: Esconder control en dialogo

Post 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
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Esconder control en dialogo

Post 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
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Esconder control en dialogo[Solucionado]

Post 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.

Code: Select all

oDlg:aControls[1]:Hide()
 
Con esto solucionado.

Saludos.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
Post Reply