Página 1 de 1

Una de Menus

Publicado: Mié Feb 16, 2011 5:33 pm
por Martin Del Angel
Hola que tal a todos!
Para los Gurus de Xailer .
Que tan posible es Implementar la Propiedad lVisible al Control TMenu().
Otros lenguajes tales como Visual Basic si tienen esa propiedad en el
control Menu
Si alguien sabe el truco , gracias de antemano
Saludos...

Una de Menus

Publicado: Mié Feb 16, 2011 8:46 pm
por jlalin
Martin,
para ocultar el menú:
SetMenu( oForm:Handle, Nil )
Y para mostrarlo:
SetMenu( oForm:Handle, oMenu:Handle )
Si quieres hacerlo con la propiedad lVisible:
CLASS TMenu FROM XMenu
PUBLISHED:
PROPERTY lVisible INIT .T. WRITE METHOD SetVisible
PUBLIC:
METHOD SetVisible( Value )
ENDCLASS
METHOD SetVisible( Value ) CLASS TMenu
::FlVisible := Value
SetMenu( ::oParent:Handle, IIF( Value, ::Handle, Nil ) )
RETURN Nil
No he probado este código y quizás necesite algún ajuste, pero deberí­a
funcionar.
Saludos,
José Lalí­n

Una de Menus

Publicado: Mié Feb 16, 2011 11:37 pm
por Martin Del Angel
On 2/16/2011 1:46 PM, José Lalí­n wrote:
> Martin,
>
> para ocultar el menú:
>
> SetMenu( oForm:Handle, Nil )
>
> Y para mostrarlo:
>
> SetMenu( oForm:Handle, oMenu:Handle )
>
> Si quieres hacerlo con la propiedad lVisible:
>
> CLASS TMenu FROM XMenu
>
> PUBLISHED:
> PROPERTY lVisible INIT .T. WRITE METHOD SetVisible
>
> PUBLIC:
> METHOD SetVisible( Value )
>
> ENDCLASS
>
> METHOD SetVisible( Value ) CLASS TMenu
>
> ::FlVisible := Value
> SetMenu( ::oParent:Handle, IIF( Value, ::Handle, Nil ) )
>
> RETURN Nil
>
> No he probado este código y quizás necesite algún ajuste, pero deberí­a
> funcionar.
>
> Saludos,
> José Lalí­n
>
Gracias Jose :
Lo voy a probar, te aviso como me fue.
Mil gracias
Saludos...

Una de Menus

Publicado: Jue Feb 17, 2011 3:08 am
por Martin Del Angel
On 2/16/2011 4:37 PM, Martin Del Angel wrote:
> On 2/16/2011 1:46 PM, José Lalí­n wrote:
>> Martin,
>>
>> para ocultar el menú:
>>
>> SetMenu( oForm:Handle, Nil )
>>
>> Y para mostrarlo:
>>
>> SetMenu( oForm:Handle, oMenu:Handle )
>>
>> Si quieres hacerlo con la propiedad lVisible:
>>
>> CLASS TMenu FROM XMenu
>>
>> PUBLISHED:
>> PROPERTY lVisible INIT .T. WRITE METHOD SetVisible
>>
>> PUBLIC:
>> METHOD SetVisible( Value )
>>
>> ENDCLASS
>>
>> METHOD SetVisible( Value ) CLASS TMenu
>>
>> ::FlVisible := Value
>> SetMenu( ::oParent:Handle, IIF( Value, ::Handle, Nil ) )
>>
>> RETURN Nil
>>
>> No he probado este código y quizás necesite algún ajuste, pero deberí­a
>> funcionar.
>>
>> Saludos,
>> José Lalí­n
>>
>
>
>
> Gracias Jose :
>
> Lo voy a probar, te aviso como me fue.
>
> Mil gracias
>
> Saludos...
Hola José:
Probe solo SetMenu( oForm:Handle, Nil ) y funcionó
No exprese realmente lo que deseaba:
Quiero que cuando este corriendo la Aplicación poder eliminar en forma
dinamica elementos (items) de Tmenu.
Tal como se hace en diseño y que se auto-ajusta el Menu cuando eliminas
una opción o elemento (item).
Eso mismo pero poder hacerlo cuando el programa este en ejecución ,
atravez de una opción de configuración. como por ejemplo , eliminar el
Modulo de Ventas para que no sea visible.
Inventarios Compras Ventas Reportes Otras opciones .... Salir
La Opción de Ventas tiene un SubMenu.
Poder Eliminar la Opción de Ventas y que el Menu se Auto-Ajuste.
Que tan complicado es ?
Saludos....

Una de Menus

Publicado: Jue Feb 17, 2011 11:19 am
por jlalin
Martin,
> Quiero que cuando este corriendo la Aplicación poder eliminar en forma
> dinamica elementos (items) de Tmenu.
Entonces, la manera más fácil es quí­tarlo con ::DeleteMenu(). Si el menú
principal es este:
Compras Ventas Otros
Y quieres eliminar la opción Ventas, sólo tienes que hacer
oMainMenu:DeleteMenu( 2 ) y andando.
Saludos,
José Lalí­n

Una de Menus

Publicado: Lun Oct 17, 2011 5:46 pm
por ignacio
Martin Del Angel escribió el mié, 16 febrero 2011 17:33Hola que tal a todos!
Para los Gurus de Xailer .
Que tan posible es Implementar la Propiedad lVisible al Control TMenu().
Otros lenguajes tales como Visual Basic si tienen esa propiedad en el
control Menu
Si alguien sabe el truco , gracias de antemano
Saludos...
Efectivamente es una opción que nos han pedido bastante a menudo. Te recomiendo que utilices el evento TMenuItem:OnCheckState. Revisaremos si es posible hacer algo al respecto ya que el principal problema es que el API de M$ para menúes no tiene esa posibilidad.
Un saludo