Esconder control en dialogo

Esconder control en dialogo

Postby jvtecheto » Thu Apr 23, 2020 2:50 pm

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 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Esconder control en dialogo

Postby karinha » Thu Apr 23, 2020 2:56 pm

STATIC oCombo?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Esconder control en dialogo

Postby jvtecheto » Thu Apr 23, 2020 3:05 pm

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 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Esconder control en dialogo

Postby AngelSalom » Thu Apr 23, 2020 3:51 pm

Yo uso esta función :

Code: Select all  Expand view
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
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Esconder control en dialogo

Postby FranciscoA » Thu Apr 23, 2020 5:46 pm

Yo lo hago como dice Angel. ( creo que se le llama Detached Local )

Code: Select all  Expand view
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.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Esconder control en dialogo[Solucionado]

Postby jvtecheto » Thu Apr 23, 2020 7:14 pm

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  Expand view

oDlg:aControls[1]:Hide()
 


Con esto solucionado.

Saludos.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 46 guests