Ver Mensaje Individual
  #3  
Antiguo 02-11-2013
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
Pues si ... probablemente sirva !! Ahora me pongo con ello ...

No obstante, encontré una solución de otra manera a mi problema.

El asunto surge de la necesidad de 'restringir' ciertas acciones a ciertos usuarios según privilegios. Por ejemplo, en este caso, quiere restringir el poder 'Suprimir' un registro.

Consigo fácilmente ocultar la opción del PopupMenu correspondiente a la tecla de Supr (eso es inmediato), pero el problema es que al estar la opción del PopupMenu asignada a la tecla Supr mediante ShortCut, si pongo esa opción Enabled := False, ni siquiera entra a ejecutar el procedimiento correspondiente a 'Suprimir Registro'. Entonces, lo que pretendía era que si el usuario pulsa el botón derecho del ratón (y no tiene privilegio), la opción de Supr le salga Enabled := False, pero si pulsa directamente la tecla Suprimir sobre el Grid, le salga un 'letrero'.

Si Enabled := False en la opción del Popupmenu, no entra en el procedimiento y no puedo mostrar el cartel. Si pongo el cartel en el evento OnPopup del Menú, entonces SIEMPRE me saldría el cartelito si el usuario no tiene privilegio, y claro ... eso no queda bien.

Cómo lo he hecho finalmente ... Compruebo si 'Sender is TMenuItem' en el evento OnPopup. Si lo es, es que se ha pulsado tecla, y entonces NO pongo Enabled := False, con lo cual acaba yendo al procedimiento de Borrado y ahí puedo mostrar el Cartel. Si no es 'Sender is TMenuItem' entonces se ha pulsado Botón Derecho del ratón para abrir el menú contextual, y entonces después de la comprobación del privilegio pongo Enabled := False.

De esta manera consigo lo que me había propuesto, deshabilitar la opción del Menú contextual en caso de pulsar el botón derecho del ratón (o la tecla de menú contextual del teclado), y poder mostrar el cartel en caso de que se pulsa la tecla Suprimir.

Gracias por la ayuda !!!

__________________
Piensa siempre en positivo !
Responder Con Cita