Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2011
hondaalberto hondaalberto is offline
Miembro
 
Registrado: Sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 8
hondaalberto Va por buen camino
Deshabilitar Opciones de Un MainMenu

Buenas Tardes Amigos

Estoy haciendo una aplicación en delphi7 utilizando sql server como base de datos y necesito hacer un formulario para el mantenimiento de los usuarios en el cual yo pueda indicar cuales ITems del Menu un usuario determinado puede ver.
Estoy utilizando el componente mainMenu que trae delphi por defecto y las opciones que tiene dicho menú actualmente son las siguientes:

Mantenimientos
Usuarios
Clientes
Proveedores
Empleados
….
Tengo pensado colocar en el mantenimiento de usuarios un dbcheckbox para manejar cada opción del menú en la cual si esta marcado significa que el usuario tiene acceso al mismo de lo contrario no.
Mi problema consiste en que no se como hacer para inhabilitarle una opción del menú desde el mantenimiento de usuarios, lo demás del mantenimiento ya esta resuelto.

Muchas Gracias de Antemano por la ayuda que puedan darme con esto.
Responder Con Cita
  #2  
Antiguo 03-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: Sep 2006
Ubicación: Lima - Perú
Posts: 1.747
Poder: 13
oscarac Va por buen camino
puedes hacer asi

Código Delphi [-]
 
frmmain.menuPrincipal.mnuMantenimiento.enable := False;
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 03-05-2011
hondaalberto hondaalberto is offline
Miembro
 
Registrado: Sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 8
hondaalberto Va por buen camino
Muchas Gracias oscarac por tu Respuesta pero cuando coloco el codigo que me pusiste me da los siguientes errores:

[Error] Unit1.pas(59): Undeclared identifier: 'Mantenimientos'
[Error] Unit1.pas(59): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


El Código que tengo es el siguiente siguiendo tu ejemplo:
FPrincipal.MenuPrincipal.Mantenimientos.enable:=false;

El Formulario donde esta el menu se llama "FPrincipal" el componente "MainMenu se llama "menú Principal" el Menú se llama Mantenimientos y tiene los submenus:

Usuarios
Clientes
Proveedores
Bancos
Responder Con Cita
  #4  
Antiguo 03-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: Sep 2006
Ubicación: Lima - Perú
Posts: 1.747
Poder: 13
oscarac Va por buen camino
quiza te estas equivocando en algun nombre...
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 03-05-2011
hondaalberto hondaalberto is offline
Miembro
 
Registrado: Sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 8
hondaalberto Va por buen camino
Revise todos los nombre de los componentes y todos estan tal cual como te escribi anteriormente y si cambio la palabra mantenimientos por Usuarios me devuelve solo estos dos errores:

[Error] Unit1.pas(62): Undeclared identifier: 'Usuarios'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Revise todo ya a ver si esta utilizando algun nombre incorrecto y todo esta tal cual como lo coloque el mensaje anterior pero sigue dandome errores.

Gracias por tu tiempo...
Responder Con Cita
  #6  
Antiguo 04-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.064
Poder: 29
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Te pongo un ejemplo de como activar/desactivar cada uno de los items que dependen del MenuItem 'Mantenimiento' desde otro form.
Código Delphi [-]
...
type
  TForm2 = class(TForm)
    ComboBox1: TComboBox;
    procedure FormShow(Sender: TObject);
  private
     procedure ComboBox1Change(Sender: TObject);
  public
  end;
...
implementation 

uses Unit1;

procedure ItemOnOff(Ix: Integer);
begin
  with FPrincipal.MainMenu1 do
   Items[0].Items[Ix].Enabled:= not Items[0].Items[Ix].Enabled;
end;

procedure TForm2.ComboBox1Change(Sender: TObject);
begin
  ItemOnOff(ComboBox1.ItemIndex);
end;

procedure TForm2.FormShow(Sender: TObject);
begin
  with ComboBox1 do
  begin
    Clear;
    Items.Add('Usuarios');
    Items.Add('Clientes');
    Items.Add('Proveedores');
    Items.Add('Usuarios');
    ItemIndex:= 0;
    OnChange:= ComboBox1Change;
  end;
end;
...
Mostra a Form2 con Show así tenés accesibles las dos ventanas al mismo tiempo y verificas los estados.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-05-2011 a las 02:10:39.
Responder Con Cita
  #7  
Antiguo 04-05-2011
hondaalberto hondaalberto is offline
Miembro
 
Registrado: Sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 8
hondaalberto Va por buen camino
Muchas Gracias ecfisa voy a probar y te dejo saber si me funciono asi, para que quede en el foro registrado de que podemos resolver un problema como ese de esa forma y le pueda servir a otros tambien.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayudenme a deshabilitar las opciones de carpeta. scs OOP 3 07-01-2009 17:26:52
Deshabilitar Opciones de Word shoulder Varios 3 11-04-2008 20:34:55
Habilitar y deshabilitar submenus o menu de un mainmenu de forma dinámica (código). cesar_gta86 Varios 1 18-12-2007 18:34:53
mainmenu esconder opciones emiliu Varios 7 11-06-2007 14:12:01
Deshabilitar opciones Quickreport JOMABRI Impresión 1 26-06-2004 01:37:20


La franja horaria es GMT +2. Ahora son las 14:31:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi