FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Nuevas propiedades en un TMAinMenu
Alguno sabe como crear nuevas propiedades en el Item de un TmaninMenu, para poder terminar un componente, ya que añado las nuevas propiedades y si se me crea en en la parte principal, pero dos de las propiedades nuevas dben ir en dentro de los Item del mainMenu, pero no sucede, he mirado la ayuda y me remite al metodo add de la propiedad TMenuitem, pero no logro que funcione, funcionaria en la creacion de un componente?
No es que dejara los otros componentes parados, pero como me he bloqueado con ellos, e preferido dejarlos parados de momento. Gracias y un saludo por vuestra ayuda. P.D. Si podeis poner un ejemplo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#2
|
||||
|
||||
prueba con esto
buenas mi primera aportacion, espero que no sea la ultima,xd, no ser si soluciona tu poblema
|
#3
|
||||
|
||||
Gracias por tu respuesta neuronic, pero se trata de añadir nuevas propiedades al menu y no nuevas partes de esta, por si no ha quedado claro expongo lo que quiero hacer:
Partiendo de un MainMenu hacer un menu con niveles de seguridad y clave, en la parte principal esta los niveles de seguridad, clave de acceso y mensaje de solicitud de clave y el nivel dw usuario actual (Valores generales), en el segunda parte cda vez que exponemos un Item se nos pediria un campo boolean que nos remite si para acceder hace falta clave y el nivel de usuario que hace falta para acceder al evento del item. Espero haberme explicado bien.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#4
|
||||
|
||||
No quiero sonar borde, pero por mas que leo tus dos mensajes no logro entender lo que quieres, con el primer mensaje he entendido lo mismo que neuronic.
Creo que te lías un poco al intentar explicar lo que quieres, hehe. Saludos. |
#5
|
||||
|
||||
XesK intentare explicarme mejor
Cuando soltamos el componente TmainMenu, trae una seri de opciones, cuando pulsamos sobre su icono o sobre la opcion Items, nos sale nuevas opciones que se cran paera cada una de los elementos del menu. Bien logro crear la opciones sobreel componente en su parte principal pero no sobre cada elemento, como los caption, pero crear mi propia opcion. Espero quede mas claro, gracias por vuestra ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#6
|
||||
|
||||
si mal no entiendo tu lo que quieres es que el componente TMainMenu en lugar de heredar los Items desde TMenuItem herede desde TMIMenuitem??
has logrado modificar el TMainMenu y ver donde se crean los nuevos TMenuItem y cambiar la clase alli??
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#7
|
||||
|
||||
Creo que la cosa se esta liando y no me explico bien, lo que quiero es crear un nuevo componente para el club, basabndose en un MainMenu, con nuevas propiedades, las describo, pero tener en cuenta que es un boceto.
Propiedades comunes al componente(cuando lo añadimos al formulario) LevelUser Integer (en el estableceremos el nivel del usuario actual del 1 al 5) Level1 al 5 String (seran los niveles establecidos, en ellos pondremos los nombres de tipos de usuario, siendo en principio 1 Todos y 5 Administrador) Keyseg String (Ira la clave que podamos necesitar) Messagekey String (Aqui ira el mensaje que nos mostrara en caso de solicitarse clave) Propiedades comunes a las diferentes opciones del menu (cuando escribimos las opciones [Items] del menu en fase de diseño) Level Integer (estara comprendido entre el uno y el cinco mirara más abajo comportamiento) KeyItem Boolean (Si lo morcamo nos solicitara clave para acceder a el independiente del nivel de usuario) Comportamiento Al introducir en Leveluser un valor, entre 1 al 5 en el menu nos abilitara todos aquellos items que tengan en level el mismo, que en leveluser o inferio pero no los superiores, exeptundo aquellos que tengan el keyItem en true, en este caso no importa el nivel de usuario ya que nos solicitara la clave para acceder. Espero la explicacion sea más coherente esta vez.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#8
|
||||
|
||||
He seguido buscando, he mirado el menu.pas y me pierdo, si a alguno se le ocurre una idea se agradeceria.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#9
|
||||
|
||||
Lo que tedrás que hacer es derivar (hacer un decendiente) del TMenuItem, solo de esta forma podrás agregar las propiedades que necesites. Si no me equivoco, también tendras que hacer un decendiente de TMenu y TMainMenu y si lo necesitas de TPopupMenu, lo único que tendrías que cambiar es que en vez de utilizar TMenuItem utilize tu propia clase, p. ej. TmiMenuItem, TmiMenu, ....
|
#10
|
||||
|
||||
D&W He probado y nada, de echo desde el principio parte de un componente TMAinmenun, a la que quiero añadir las nuevas propiedades y no hay manera, si a alguien se le ocurre otra cosa, seguire, de todas maneras sigo investigando, y he visto por ahí, que los componantes que hayh no tienen propiedades nuevas, en la parte de los item, no creo que el problema sea el no poder, mas bien pienso que debe ser bastante complicado.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#11
|
||||
|
||||
He dado una visual muy por encima al menu.pas y el problema que veo está en el diseño de las clases.
Mira el componente TComboBoxEx (ComCtrls.pas) verás que tiene 2 propiedades: Items e ItemsEx, quizás puedas hacer algo parecido. Si no te apetece, creo que tendrías que empezar de cero el componente. La clase TMenu ya publica la propiedad Items, de solo lectura y además accediendo directamente a su propiedad privada FItems:
Quizás los de Borland no quisieran que se derivase de ese componente, de ahí su implementación. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#12
|
||||
|
||||
Garcias por tu pronta respuesta Lepe, pero me pregunto, seria posible modificar el archivo pas, añadir las propiedades en menu pas. pero es que me parce muy complejo, y me da pena desechar la idea ya que me parece la forma mas adecuada de implementar niveles de usuario en un programa, tal vez se me ocurre seria más facil en un ActionList?.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#13
|
||||
|
||||
Lo de modificar los fuentes de Delphi no lo veo viable.
1 - No sé si será legal eso de modificar el menu.pas. 2 - No aseguras compatibilidad con programas que ya funcionen. Lo que se me ocurre es crearte tu nueva unidad PrivMenu.pas pegando todo el contenido de la unidad de delphi (repito, no sé si legalmente puedes hacer eso), renombrando las clases a TPrivMenu, TPrivMenuItem, etc. A partir de aquí ya eres "libre" . Después podrás instalar el componente como uno más de delphi. Con un TActionList, no tendrías que reinventar nada. Cada TAction tiene su propiedad Tag y ahí puedes guardar el nivel de privilegios que haría falta para mostrar ese TAction, Con un simple bucle puedes recorrer todos los TActions inhabilitándolos, hacerlos invisible, etc.
Si en cada ventana existen controles que puedan ser invisibles para ciertos usuarios, yo añadiría herencia visual, es decir crear un formulario en blanco que contenga un ActionList y una propiedad Privilegio:integer, Al asignar el Privilegio haría lo propio con los Actions que haya en la ventana. Habrá otras muchas formas de implementar privilegios, pero dependerá de tus necesidades. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#14
|
||||
|
||||
Visto lo dicho, nada, abandono la idea y me da pena, pasare a empezar con otro componente, espero no me de nuevos problemas, ya que últimamente estoy bloqueado con varias cosas a la vez y conociendome, o aparco hasta que se me haga la luz o me veo trabajando hasta las 3- 4 de la mañana y a mi mujmer e hijas enfadadas por no prestarles un poco de atención.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Habiliar item de un TmainMenu | egarc | Conexión con bases de datos | 1 | 28-07-2007 17:16:21 |
Ejemplos de TMainMenu con Iconos | Marian0 | C++ Builder | 2 | 16-02-2007 17:15:06 |
Acceso a las propiedades de un objeto desde el editor de propiedades | Hugo | OOP | 0 | 24-11-2006 12:58:22 |
!TmainMenu Desplegado | Carlosguiland | OOP | 1 | 09-11-2004 19:28:11 |
Crear nuevas propiedades de un formulario | Angel | OOP | 15 | 10-07-2003 15:39:42 |
|