Pregunta: | 50667 - POWER BUILDER 7.0 - MENU |
Autor: | Loreto Vargas Allende |
Hola! Sres., necesito saber cómo puedo asignar un nombre a un menú pero a través de código y no en diseño.
Esto para habilitar o deshabilitar el menú conforme al perfil que posea el usuario que se conecte a la aplicación. Gracias |
Respuesta: | NN |
Buenas
Seria crear un objeto treview, y a este agregarle los menus dinamicamente de acuerdo al usuario. buena tarde |
Respuesta: | carlos martin |
Hola Loreto, no se pueden asignar nombres a los menus de forma dinamica, pero lo que si se puede es habilitar o deshabilitar por medio de los identificadores de los menus, te explico con un ejemplo:
Esto es una función que deshabilita opciones de menu de forma dinamica, llamandose así misma de forma recursiva, cuando una opción de menu tiene subopciones: Llamamos a esta función pasando por referencia la opción de menu que queremos deshabilitar. // pvm_menu es un argumento de la función de tipo menu y pasado // por referencia. Nombre de la función f_desabilitar_menu // definición de variables menu lm_menu integer li_item , li_for // deshabilitamos la opción del menu recibida pvm_menu.enabled = false pvm_menu.toolbaritemvisible = false // comprobamos si la opción recibida tiene subopciones if UpperBound(pvm_menu.item[]) > 0 then // número de subopciones de la opción recibida li_item = UpperBound(pvm_menu.item[]) // bucle para deshabilitar cada una de estas opciones for li_for = 1 to li_item // guardamos la opción de menu en una variable de tipo // menu lm_menu = pvm_menu.item[li_for] // Llamamos a la misma función con la opción de menu // que hemos guardado en la variable. f_desabilitar_menu(lm_menu) next end if return 1 //======== Espero que te sirva, si tienes alguna duda, no dudes en enviarme un correo. |