Ver Mensaje Individual
  #4  
Antiguo 23-05-2025
Garada Garada is offline
Miembro
 
Registrado: jul 2004
Posts: 90
Reputación: 22
Garada Va por buen camino
Puedes usar un componente TApplicationEvents en el formulario principal de la aplicación.
Este componente informa de cambios a nivel de aplicación y entre ellos los mensajes que recibe.

Usa el evento OnMessage y capturas el evento WM_KEYUP

ejempo:

Código Delphi [-]
procedure TForm1.appevnt1Message(var Msg: TMsg; var Handled: Boolean);
begin
  Handled := False;

  if (Msg.Message >= WM_KEYFIRST) and (Msg.Message <= WM_KEYLAST) then // capturamos todos los eventos de teclado para desactivar otros usos
  if (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('A')) then
  begin
    Handled := True; // el mensaje ya está gestionado

    if (Msg.message = WM_KEYUP) or (Msg.message = WM_SYSKEYUP) then // sólo hacemos caso cuando levante la tecla, a gusto
      ShowMessage('Hola mundo');
  end;
end;
Responder Con Cita