Página 1 de 1

Como Deshabilitar un Menu

Publicado: Dom Abr 16, 2006 6:30 pm
por Martin del Angel[1]
Hola a Todos !
Como Deshabilito un Menu?
Tengo el siguiente codigo
METHOD Menu1Item1_1Click( oSender, oMenu ) CLASS TForm1
Tcuentas():New( Self ):Show()
RETURN Nil
Tcuentas() se encuentra en otro PRG y si es llamado correctamente, pero
cuando vuelvo a darle click en el Menu de Cuentas se vuelva a llamar
Tcuentas()
Si le doy 10 clicks en la Opcion Cuentas 10 veces se llama la Forma de
Cuentas
como deshabilito el Menu de donde es llamado ?
o sea Deshabilitar Tmenu

Como Deshabilitar un Menu

Publicado: Dom Abr 16, 2006 7:41 pm
por jfgimenez
Martín,
> Como Deshabilito un Menu?
>
> Tengo el siguiente codigo
>
> METHOD Menu1Item1_1Click( oSender, oMenu ) CLASS TForm1
> Tcuentas():New( Self ):Show()
> RETURN Nil
>
>
> Tcuentas() se encuentra en otro PRG y si es llamado correctamente, pero
> cuando vuelvo a darle click en el Menu de Cuentas se vuelva a llamar
> Tcuentas()
>
> Si le doy 10 clicks en la Opcion Cuentas 10 veces se llama la Forma de
> Cuentas
>
> como deshabilito el Menu de donde es llamado ?
>
> o sea Deshabilitar Tmenu
Si lo que quieres es que no se puedan abrir varios formularios a la vez, lo
correcto es mostrar el formulario con ShowModal(), es decir:
Tcuentas():New( Self ):ShowModal()
De esa forma, hasta que el usuario no cierre el formulario no podrá abrir
otro. Por otro lado, si no quieres que sea modal, entonces lo correcto es
dejar al usuario hacer lo que quiera; si quiere abrir 20 veces un
formulario, pues que lo haga.
No obstante, la forma de desactivar una opción de menú es usando su
propiedad lEnabled. Para eso, cuando diseñas el menú, tienes que poner algún
nombre en la propiedad cVarName, para que se declare como componente en la
clase (p.ej. oMenuCuentas) y después, simplemente pones:
::oMenuCuentas:lEnabled := .F.
--
Un saludo,
José F. Giménez