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