Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-10-2008
Edgtho Edgtho is offline
Miembro
 
Registrado: abr 2006
Posts: 47
Poder: 0
Edgtho Va por buen camino
Impedir KeyPreview form con TCustomcontrol

Buenas,


Resulta que cree un componente Button a partir de la clase TcustomControl para asi tener control total sobre el dibujado del componente, pero tengo un problema con el KeyPreview del form. Esta propiedad esta activada en el form y tengo capturadas las teclas de las flechas y el ENTER para simular el TAB
Código:
if key = 13 then
    PostMessage(self.handle,WM_NEXTDLGCTL,0,0);
En un Tbutton cuando teniendo el foco le pulsas ENTER captura la tecla y manda el evento onclick pero no se ejecuta el onkeydown del form. En el custom control se ejecuta primero el onkeydown del form y despues el keydown del control.

Esta es la definicion de codigo que tengo en el componente para la captura de teclas
Código:
  protected
    procedure KeyDown(var Key: Word; Shift: TShiftState); override;
    procedure KeyUp(var Key: Word; Shift: TShiftState); override;
  published
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;

Como puedo evitar que se llame al onkeydown del form aunque tenga el keypreview??? estoy seguro que es capturando un evento CM pero no encuentro cual
__________________
Dios es real a menos que sea declarado entero
Responder Con Cita
  #2  
Antiguo 22-10-2008
Edgtho Edgtho is offline
Miembro
 
Registrado: abr 2006
Posts: 47
Poder: 0
Edgtho Va por buen camino
Me autorespondo.....

Tres dias buscando y cinco minutos despues de escribir el post lo descubro.... si eso lo pongo antes


Código:
procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;


procedure CMDialogKey(var Message: TCMDialogKey);
begin
  with Message do
    if  (((CharCode = VK_RETURN) and FFocused)) and
      (KeyDataToShiftState(Message.KeyData) = []) and CanFocus then
    begin
      Click;
      Result := 1;
    end else
      inherited;
end;
__________________
Dios es real a menos que sea declarado entero
Responder Con Cita
Respuesta



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
Impedir que un Form reciba Foco gluglu Varios 6 15-05-2007 15:07:14
KeyPreview en Forma cuyo Parent es un Panel samantha jones OOP 3 07-06-2006 16:25:13
Impedir ampliar y minimizar el form de un programa Leomedellin Varios 4 04-04-2005 19:02:54
Problema con el KeyPreview Javi2 Varios 2 10-03-2005 18:31:20
Impedir mover el form y redimensionar al mover barra tareas jealousy API de Windows 0 15-06-2004 12:58:05


La franja horaria es GMT +2. Ahora son las 10:41:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi