Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2025
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 23
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Otra opción es crear una función en un formulario principal y desde el resto solo llamarla dentro el OnkeyDown

Código Delphi [-]
type
  TFMBase = class(TForm)
  [..]
  public
  procedure KeyDownGenerico(Sender: TObject; var Key: Word; Shift: TShiftState);;
  [..]
end;

procedure TFMBase.KeyDownGenerico(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  if (CTRL + A) then
     ...
end;

Código Delphi [-]
uses UFMBase;

type
  TFMOtroFormulario = class(TForm)
  [..]
  public
  procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  [..]
end;

procedure TFMOtroFormulario.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   TFMBase.KeyDownGenerico(Sender, Key, Shift);
end;

Última edición por duilioisola fecha: 23-05-2025 a las 14:35:20.
Responder Con Cita
  #2  
Antiguo 23-05-2025
Garada Garada is offline
Miembro
 
Registrado: jul 2004
Posts: 90
Poder: 23
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
  #3  
Antiguo 26-05-2025
pantomima1975 pantomima1975 is offline
Registrado
 
Registrado: may 2025
Posts: 2
Poder: 0
pantomima1975 Va por buen camino
Muchas gracias por las respuestas!
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
Saber qué tecla presionó el usuario si mi aplicación no tiene el foco del mismo DSK25 C++ Builder 2 01-05-2014 04:20:23
capturar una tecla en la aplicación 2-D@monic Varios 2 04-08-2008 20:01:26
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
Controlar pulsacion de una tecla desde toda la aplicacion Sick boy OOP 5 21-05-2004 17:30:48


La franja horaria es GMT +2. Ahora son las 17:27:24.


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
Copyright 1996-2007 Club Delphi