No mostrar un ítem determinado del menú

1,259 views
Skip to first unread message

ultraton500

unread,
Sep 4, 2013, 11:42:40 PM9/4/13
to publice...@googlegroups.com
Buenas noches a todos,
mecesito mostrar u ocultar (no habilitar o deshabilitar) determinados ítems del menú dependiendo del valor de una variable pero no sé cómo hacerlo.
Ya probé con IF y IIF en el menu.mpr pero me dá error. He revisado algunos temas relacionados con menú dinámico pero no encontré nada referido a lo que estoy necesitando.
Alguien sabe de qué manera puede hacerse si es que se puede?
Desde ya les agradezco.

Saludos,
Javier.

Daniel Burgos

unread,
Sep 5, 2013, 12:27:05 AM9/5/13
to publice...@googlegroups.com
Hola Javier...
Probaste con "RELEASE BAR ..." o "RELEASE PAD ..."
 
PUSH MENU _MSYSMENU
RELEASE PAD _MSM_WINDO OF _MSYSMENU  && Removes Window menu title
WAIT WINDOW 'Press a key to restore the default menu'
POP MENU _MSYSMENU  && Restore default Visual FoxPro menu system
 
Saludos
Daniel Burgos
Mar del Plata
Argentina

ultraton500

unread,
Sep 5, 2013, 1:43:54 AM9/5/13
to publice...@googlegroups.com
Qué tal Daniel, gracias por tu respuesta.
No había probado con ese comando, estuve viendo la ayuda pero no logré entender la manera de usarlo.
Tengo, en el menú principal (llamado "menu") un ítem con el  título "Cobranzas" y, como submenú, un ítem titulado "Deudores", entonces probé un botón con lo siguiente:

RELEASE PAD "Cobranzas" OF menu

pero me dió error de sintáxis.
Te agradecería si me dieras una idea de cómo apllicar el comando en mi caso.

Saludos,
Javier.

El jueves, 5 de septiembre de 2013 01:27:05 UTC-3, Daniel Burgos escribió:


J. Enrique Ramos Menchaca

unread,
Sep 5, 2013, 2:12:39 AM9/5/13
to publice...@googlegroups.com
Creo que tu respuesta es mas el SKIP FOR, te dejo el siguiente link:

Daniel Burgos

unread,
Sep 5, 2013, 8:47:43 AM9/5/13
to publice...@googlegroups.com
Release PAD Cobranzas of menu .... sin las comillas

Jorge L. Florez C.

unread,
Sep 5, 2013, 10:08:33 AM9/5/13
to publice...@googlegroups.com
Ultraton, hace unos dias atras hicieron una pregunta sobre menu dinamico y subi una clase que hace todo eso, permite generar un menu de acuerdo a los atributos del usuario, revisalo

Saludos
Jorge Florez
Lima - Perú

ultraton500

unread,
Sep 5, 2013, 12:33:42 PM9/5/13
to publice...@googlegroups.com
Hola Enrique, gracias por la sugerencia pero SKIP FOR solo deshabilita un ítem del menú.

Saludos,
Javier.

Irwin Rodriguez

unread,
Sep 5, 2013, 12:48:06 PM9/5/13
to publice...@googlegroups.com
Hola Javier, lo que tienes que hacer es crear tu menu en un PRG y en las opciones que quieres mostrar u ocultar pues colocas lo siguiente:

IF MiVariable = .T.
DEFINE BAR 1 OF ARCHIVO PROMPT "\<Mi Opción a Mostrar / Ocultar";
PICTURE "MiPicture.png" ;
FONT "segoe UI",9 ;
KEY CTRL+M, "[Ctrl+M]" ;
MESSAGE 'Mi Mensaje en SatusBar.'
ON SELECTION BAR 1 OF ARCHIVO ;
DO MI_PROCEDIMIENTO IN MI_MENU.PRG
ENDIF

Espero te sirva de algo.

Saludos!!!

--
Ing. Irwin Rodríguez
Consultor Informático
0412-521.06.79
 

Antes de imprimir este documento piense bien si es necesario hacerlo, el árbol que servirá para hacer el papel tardará 7 años en crecer. 

 
NOTA: La información mostrada en este mensaje es de caracter Confidencial y está dirigida unicamente a los contactos señalados en el encabezado; si el lector de este correo no es el destinatario del mismo, se le notifica que cualquier copia o distribución queda totalmente prohibida. Si usted ha recibido este mensaje por error, por favor notifique inmediatamente al remitente por este mismo medio y bórrelo de su sistema.

ultraton500

unread,
Sep 5, 2013, 12:54:07 PM9/5/13
to publice...@googlegroups.com
Hola Daniel, nuevamente gracias por la ayuda.
Ya había probado sin comillas pero el problema es que cuando el título del menú tiene espacios no me deja guardar porque produce el error "Command contains unrecognized phrase/keyword.".
De todas formas lo probé pero no hace nada. Acabo de leer la ayuda del comando y, por lo que veo, es para afectar la barra de menús del sistema de Visual FoxPro, no es casual que en el ejemplo el nombre del título del menú tiene guión bajo en lugar de espacios.

Saludos,
Javier.

El jueves, 5 de septiembre de 2013 09:47:43 UTC-3, Daniel Burgos escribió:


MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
Sep 5, 2013, 1:32:32 PM9/5/13
to publice...@googlegroups.com
Hola puedes usar el SKPBAR, Determina si un elemento de menú está activado o desactivado con SET SKIP OF. 
así lo puedes desactivar o puedes crear diatónicamente los menus por cada usuario dando los permisos necesarios, te adjunto un video para que ves como se crear o da acceso al menu por cada usuario http://www.youtube.com/watch?v=EDNtpKfxyfU


Pd.: Descargate mi grilla que tiene multiples funciones como filtrar, multiseleccion, búsqueda, etc del siguiente link http://www.developervfp.blogspot.com/p/gridlibre-v35.html. Ahora también puedes bajarte mi ultima herramienta Busqueda Incremental con un TEXTBOX http://developervfp.blogspot.mx/p/busqueda-incremental-con-un-textbox.html  las herramientas viene con código fuente, ojo no hacer mal uso por favor. 


Saludos; 


Ing. Russvell Jesus Soto Gamarra 
San Juan del Rio - Queretaro - Mexico 
Nextel.: 52*133750*16
rycjesusrj @ hotmail.com
Framework Multi-conexion version 6.0 (nueva)

Fernando D. Bozzo

unread,
Sep 5, 2013, 1:36:39 PM9/5/13
to publice...@googlegroups.com
No Malkasoft, no es eso lo que quiere.

J. Enrique Ramos Menchaca

unread,
Sep 5, 2013, 1:54:47 PM9/5/13
to publice...@googlegroups.com
Se me ocurre al revés, mostrar un menú minimo y solo agregar los que deseas, dependiendo de alguna condición, te dejo un link bastante interesante al respecto:



El miércoles, 4 de septiembre de 2013 22:42:40 UTC-5, ultraton500 escribió:

ultraton500

unread,
Sep 5, 2013, 2:26:17 PM9/5/13
to publice...@googlegroups.com
Jorge, encontré el tema en el foro pero no pude encontrar ninguna clase llamada menulib en la sección de archivos (si es que es https://sites.google.com/site/archivosvfp/)
Veré si la puedo encontrar en otro lado.
Gracias por el aporte.

Saludos,
Javier.

ultraton500

unread,
Sep 5, 2013, 2:30:35 PM9/5/13
to publice...@googlegroups.com
Gracias Irwin, se vé muy interesante, lo voy a probar.

Saludos cordiales,
Javier.

Víctor Hugo Espínola Domínguez

unread,
Sep 5, 2013, 2:33:07 PM9/5/13
to publicesvfoxpro
Hola Javier

Copy/Paste
13/06/11
para Grupo
Hola amigos:
Encontre algo que quizas pueda ser de utilidad en la creacion de menus con permisos o habilitacion de los mismos. Se trata de tener todo el menu en una tabla y de alli habilitar segun el usuario. 
Hace mucho que lo tengo y no recuerdo quien es el autor. A mi me ha servido mucho con algunas adaptaciones, lo utilizo en firebird.
Espero sea lo que estas buscando.



Daniel Fabre
CPCIPC 9278
0358-156013616

Saludos,
Víctor.



> Date: Sat, 11 Jun 2011 10:38:55 -0500
> Subject: Re: [vfp] NIVEL DE SEGURIDAD EN OPCIONES DEL MENU
> From: sistemas...@gmail.com
> To: publice...@googlegroups.com
Demo_Menu.rar Demo_Menu.rar
19 kb   Ver   Descargar  

ultraton500

unread,
Sep 5, 2013, 2:36:16 PM9/5/13
to publice...@googlegroups.com
Russvell, te agradezco por la sugerencia pero, tal como indica Fernando, no es a lo que me refiero.

Saludos,
Javier.

ultraton500

unread,
Sep 5, 2013, 2:48:46 PM9/5/13
to publice...@googlegroups.com
Hola Enrique gracias por la idea, cuado disponga de mas tiempo voy a revisar el link con mas detenimiento para ver de qué se trata.

Saludos,
Javier.

ultraton500

unread,
Sep 5, 2013, 2:54:53 PM9/5/13
to publice...@googlegroups.com
Qué tal Victor Hugo...
Momentaneamente un error temporal (404) no me pertmite descargar el demo pero en cuanto se solucione lo descargo y reviso.
Gracias por tu aporte.

Saludos,
Javier.

Hector Colman

unread,
Sep 5, 2013, 3:43:38 PM9/5/13
to publice...@googlegroups.com
HOLA MENÚ
YO USO DE LA SIGUIENTE MANERA:
Este es un menú contextual con la,opción de des habilitar la opcionde mopdificar y borrado de registro cuando no hay nada en la grilla
******************************************************************************

Local menn_local,s
menn_local = 0
SELECT (this.RecordSource)  
IF RECCOUNT() > 0
s = 1
ELSE
s = 0
endif

Define Popup menucontex SHORTCUT Relative From Mrow(),Mcol()
Define Bar 1 Of menucontex Prompt "\<Nuevo..." PICTURE "iconos\NewsAdd.png" &&"iconos\WZNEW.BMP"
Define Bar 2 Of menucontex Prompt "\<Modificar..." PICTURE "iconos\NewsRemove.png" &&WZEDIT.BMP"
Define Bar 3 Of menucontex Prompt "\<Borrar..." PICTURE "iconos\newspaper_close_32.png" &&WZDELETE.BMP"
Define Bar 4 Of menucontex Prompt "\-"
Define Bar 5 Of menucontex Prompt "\<Cerrar" PICTURE "iconos\onebit_27.png"     &&PICTURE "iconos\salir.bmp"  cancel.png


Set Skip Of Bar 2 Of menucontex s = 0
Set Skip Of Bar 3 Of menucontex s = 0



On Selection Bar 1 Of menucontex menn_local = 1
On Selection Bar 2 Of menucontex menn_local = 2
On Selection Bar 3 Of menucontex menn_local = 3
On Selection Bar 4 Of menucontex menn_local = 4
On Selection Bar 5 Of menucontex menn_local = 5

Activate Popup menucontex
Do Case

Case menn_local = 1
v_abmr21 = 1
thisform.panel.ActivePage = 2 
Case menn_local = 2
v_abmr21 = 2
thisform.panel.ActivePage = 2 
Case menn_local = 3
v_barrio = barcodigo
Thisform.borrar 
Case menn_local = 5
thisform.cancelar 
Endcase

****************************************************************************************************
y este es el menú principla de foxpro

tiene la opcion de salta por en cada item del menú y ai se coloca una variable publica que vos tenes que definir y cuando esa variable cumpla esa condición se deshabilitará el menú

ejemplo:
1 Publicamos nuestra variable
Public v_desh_habi_opc
v_desh_habi_opc = 0

2 creamos nuestro menú


3 escribimos las opciones de nuestro menú

4  nivel Informe, Indicador (Informe de Prestamos), Opciones

5 y ultimo es la que hace que se des habilite en al Opciones

cuando la variable es igual a cero en menú se des habilitara

hcolma...@gmail.com es mi correo por cualquier cosa

ultraton500

unread,
Sep 5, 2013, 10:06:06 PM9/5/13
to publice...@googlegroups.com
Hola Hector, la manera excelente en que te explicas, digna de un tutorial, hace que me sienta un mal agradecido, pero lamentablemente lo que busco no es habilitar o deshabilitar ítems del menú sino mostrarlos u ocultarlos.
Si conoces una forma de lograrlo agradeceré tu comentario.
De todas formas valoro y agradezco mucho tu respuesta y disposición. 

Saludos cordiales,
Javier.

José Luis

unread,
Sep 5, 2013, 11:05:31 PM9/5/13
to publice...@googlegroups.com
Hola ultraton500 como estas. Amigo creo que deberias probar crear 2 menu, y colocar una condicion, por ejemplo:

do case
    case 1
             Mostrar MenuCompleto
             ...
    case 2
             Mostrar MenuIncompleto
             ...
endcase


Pudiese darte resultado algo así, prueba y nos informa

ultraton500

unread,
Sep 6, 2013, 12:52:46 AM9/6/13
to publice...@googlegroups.com
Qué tal José Luis,
casualente también estuve pensando en esa alternativa y si, sería una solución para mi caso y como estoy escaso de tiempo es lo que voy a hacer.
Todavía debo probar las sugerencias de Irwin Rodriguez, Enrique Ramos y Víctor Hugo, estas tienen como ventaja que permitirían condicionar un único menú ya que en un caso como el de restricciones de usuarios sería imposible de hacer usando un menú por cada posibilidad.
Agradezco mucho tu colaboración.

Saludos cordiales,
Javier.

Jorge L. Florez C.

unread,
Sep 6, 2013, 10:43:54 AM9/6/13
to publice...@googlegroups.com
Aqui esta el correo sobre menus dinamicos... revisalo, a lo mejor te sirve


https://mail.google.com/mail/?shva=1#search/jorgelflorez%40gmail.com/1408460058b70878


Saludos
Jorge Florez
Lima - Perú

ultraton500

unread,
Sep 6, 2013, 1:51:11 PM9/6/13
to publice...@googlegroups.com
Jorge, el link me lleva a mi gmail donde aparece un mensaje diciendo "La conversación que has solicitado ya no existe".
pero en la sección de archivos no existe ningún archivo llamado menulib.

Saludos,
Javier.

Jorge L. Florez C.

unread,
Sep 6, 2013, 2:26:23 PM9/6/13
to publice...@googlegroups.com
Ultraton500, aqui te envio la info, recuerda, todo el menu se coloca en una tabla

Aqui creo el objeto menu

this.AddObject( "menu", "menuopciones" ) && Crea el objeto que generará el menu de opciones


y esto es el codigo de como cargarlo

IF RECCOUNT( "relaopci" ) > 0
objaplicacion.menu.quitar_objeto()
objaplicacion.menu.llena_objeto()
objaplicacion.menu.genera_menu( this, m.random_namemenu )
ACTIVATE MENU ( m.random_namemenu ) NOWAIT
ENDIF

donde "relaopci" es la tabla con las opciones y el atrisist incluido ( en mi caso es un cursor ) y listo, se genero el menu

atrisist es un campo que se obtiene de otra tabla, aqui se encuentran los atributos de usuario, el campo es C(6) ( todos los valores que puede almacenar atrisist o la combinacion de ellos "RWDPS" )

Espero te sirva

Saludos
Jorge Florez
Lima - Perú

dbfsegopcisist.CDX
dbfsegopcisist.dbf
generamenu.VCT
generamenu.vcx

ultraton500

unread,
Sep 6, 2013, 4:50:15 PM9/6/13
to publice...@googlegroups.com
Muchas gracias Jorge, se ve interesante, en cuanto pueda lo voy a implementar.

Saludos cordiales,
Javier.
Reply all
Reply to author
Forward
0 new messages