![]() |
Debes registrar esa combinación de teclas de forma global a sistema.
Aquí tienes el código de cómo hacerlo. |
en los componentes JVCL creo que ví un componente que hace eso...
|
Ese código no me funciona. Está copiado tal cual.
|
Cita:
RegisterHotKey es la llamada que se utiliza para registrar combinaciones de teclas a nivel Global del sistema. Funciona perfectamente (yo mismo la he utilizado varias veces sin problemas). Busca sobre esa llamada y encontrarás muchos ejemplos, aunque las llamadas son similares a esa. |
Nada más copiar el proyecto a la unidad 1 (unit1.pas) y compilar. Luego clico el botón imprimir Pantalla (una de las registradas) pero no funciona.
|
Eso lo puedes hacer con el componente HotKeyManager.
http://www.vclcomponents.com/Delphi/...ager-info.html Un saludo. |
Cita:
* GlobalAddAtom * RegisterHotKey Que son las mismas que se llaman en el ejemplo anterior. Supongo que si no han funcionado antes... |
{
RegisterHotKey fails if the keystrokes specified for the hot key have already been registered by another hot key. Windows NT4 and Windows 2000/XP: The F12 key is reserved for use by the debugger at all times, so it should not be registered as a hot key. Even when you are not debugging an application, F12 is reserved in case a kernel-mode debugger or a just-in-time debugger is resident. } esto estaba alla en la funcion. ¿Es posible que sea lo que te esta ocurriendo? |
Pues sí. Ahora va xD.
|
Bueno pues ahí pongo otra solución sin usar componentes externos como sugiere Neftali:
Código:
unit Unit1; |
Si, bueno, sur-se, eso es exactamente el codigo de neftali, pero incorrecto...¿deberas desregistrarlas al acabar la aplicación no?
|
y...el componente externo lo has citado tu...
|
Efectivamente, un poco más resumido que el código de neftalí, y más sencillo de entender al tener menos código. Si al final faltaría desregistrar, pero es básicamente un ejemplo de esqueleto para hacerlo.
Respecto al componente, efectivamente lo puse yo porque es una solución muy sencilla (haga lo que haga internamente) que encapsula todo. Era por si le servía al compañero que puso el post, nada más. Yo lo utilizo porque me ahorra escribir código nada más. Un saludo. |
si si, claro, efectivamente...
|
| La franja horaria es GMT +2. Ahora son las 22:07:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi