FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Tecla que llamó al PopupMenu
Hola a tod@s !
Hace tiempo que no aparezco por aquí ... mis disculpas a todos los que me han echado de menos ! Cuando asigno un PopupMenu a un elemento (por ejemplo un Grid), puedo asignar ShortCuts a cada elemento del PopupMenu. Si asigno a uno de los elementos la tecla 'Del/Supr', al pulsar la tecla Suprimir en el Grid, se ejecuta el evento OnPopup del PopupMenu. Quiero saber qué tecla ha provocado el evento OnPopup. Para saber si se ha pulsado Supr o si el usuario ha hecho Click Derecho. Al parecer en el evento OnPopup, en ese momento del OnPopup, no está disponible el (Sender as TMenuItem).Name, por lo que no logro averiguar qué tecla (porque hay varias teclas asociadas a los diferentes ShortCuts) ha provocado la llamada. He hecho esto :
Agradecer como siempre vuestra inestimable ayuda ! Saludos
__________________
Piensa siempre en positivo ! |
#2
|
||||
|
||||
Hola gluglú.
Disculpas aceptadas No entiendo del todo a donde apunta el capturar la tecla, pero fíjate si esta forma de capturar la tecla Del/Supr te sirve:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
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 ! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Eso es lo que llamo un abuso | enecumene | La Taberna | 14 | 13-07-2008 19:04:32 |
saber que tecla se presiona despues de X tecla | amadis | OOP | 9 | 04-01-2008 13:16:35 |
Cambiar la tecla TAB por la tecla ENTER al pasar de controles | dec | Trucos | 0 | 30-06-2006 13:43:03 |
Tecla PetSis y tecla Inter | Tomás | Windows | 0 | 24-04-2004 14:20:19 |
como llamo al shellexecute | sarga | API de Windows | 2 | 14-04-2004 15:18:49 |
|