Página 1 de 1

Atribuir metodo a varios objetos de uma só vez?

Enviado: 18 Mar 2009 14:51
por ANDRIL
Pessoal, tenho varios objetos como oEditbox1, oButton1 e etc.

No cadastro tenho um VALID que uso para tornar disponivel/indisponivel alguns objetos, estou fazendo assim:

Código: Selecionar todos


   @ 169,39 GET oEditbox1 VAR opBusca OF oGroup1  SIZE 19,24 ;
        STYLE WS_BORDER   PICTURE '9' MAXLENGTH 1 FONT oFontGet;
        VALID {|| opBusca$"12",;      
        if(opBusca="1",oButton2:disable(),oButton2:enable()),;
        if(opBusca="2",oButton1:disable(),oButton1:enable()),;
        if(opBusca="1",oEditbox3:disable(),oEditbox3:enable()),;
        if(opBusca="1",oEditbox4:disable(),oEditbox4:enable()),;
        if(opBusca="2",oEditbox1:disable(),oEditbox1:enable()),.t.}
tentei usar assim, mais deu erro:

Código: Selecionar todos

oButton2:=oEditbox3:=oEditbox4:disable()
Tem como deixa-los todos desabilitados de uma só vez, sem precisar de tantos IFs.

Ate+

Re: Atribuir metodo a varios objetos de uma só vez?

Enviado: 19 Mar 2009 11:35
por sygecom
Olá Andril,
Pode tentar usar assim:

Código: Selecionar todos

 @ 169,39 GET oEditbox1 VAR opBusca OF oGroup1  SIZE 19,24 ;
        STYLE WS_BORDER   PICTURE '9' MAXLENGTH 1 FONT oFontGet;
        VALID {|| DesabilitaAllGets( {oButton1,oButton2,oButton3,oButton4,oButton5} )   }

**********************************
Function DesabilitaAllGets( oOBJ )
**********************************
AEval( oOBJ, {|o|o:disable()} )
Return .T.