Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-08-2005
satabel satabel is offline
Miembro
 
Registrado: jul 2005
Posts: 22
Poder: 0
satabel Va por buen camino
evento click de un bitbtn creacion componente

hola
estoy haciendo un componente heredado de tbitbtn pero no se como dentro del codigo agrego una instruccion cuando se haba click sobre este componente..

gracias
Responder Con Cita
  #2  
Antiguo 31-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Prepárale un método al componente que puedas asociar a su evento "OnClick". Dicho método (porque ha de pertenecer a un objeto, por ejemplo, el mismo que estás llevando a cabo) asígnaselo de este modo:

Código Delphi [-]
   var
     MiBoton: TBitBtn;
   begin
     MiBoton := TBitBtn.Create(Self);
     MiBoton.Parent := Self;
     MiBoton.OnClick := MetodoOnClick;
     {...}
Donde la declaración de "MetodoOnClick" ha de ser la siguiente:

Código Delphi [-]
   procedure TForm1.MetodoOnClick(Sender: TObject);
En este caso "MetodoOnClick" es un método de un formulario, pero, lo requerido es que pertenezca a un objeto, por cumplir con lo que precisa el evento "OnClick" del botón, que es de tipo "TNotifyEvent" y se declara así:

Código Delphi [-]
   TNotifyEvent = procedure(Sender: TObject) of object;
Quiere decirse que el método en cuestión puede pertenecer a un formulario (como en el ejemplo de más arriba) o, en fin, a un objeto, el cual puede ser perfectamente el que estás llevando a cabo.

Es probable que con un poco de código se entienda mejor (máxime cuando mis explicaciones pueden dejar que desear) y con este espero que pueda hacerse:

Código Delphi [-]
 type
   TMiBoton = class(TBitBtn)
   private
     procedure MetodoOnClick(Sender: TObject);
   public
     constructor Create(AOwner: TComponent); override;
   end;
 
 implementation
 
 { MiBoton }
 
 constructor TMiBoton.Create(AOwner: TComponent);
 begin
   inherited;
   {...}
   OnClick := MetodoOnClick;
   {...}
 end;
 
 procedure TMiBoton.MetodoOnClick(Sender: TObject);
 begin
   // Responde al evento "OnClick" de "TMiBoton"
 end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 31-08-2005 a las 06:25:33. Razón: (ampliación del texto)
Responder Con Cita
  #3  
Antiguo 31-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por satabel
no se como dentro del codigo agrego una instruccion cuando se haba click sobre este componente
Si te refieres al código del mismo componente lo que tienes que hacer es redefinir su método Click:


Código Delphi [-]
interface

type
  TExBitBtn = class(TBitBtn)
  public
    procedure Click; override;
  end;

implementation

procedure TExBitBtn.Click;
begin
  {
    Aquí tu código
  }
end;

end.

// Saludos
Responder Con Cita
  #4  
Antiguo 31-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por roman
Si te refieres al código del mismo componente lo que tienes que hacer es redefinir su método Click:
Pensándolo mejor creo que has dado en el clavo roman. Y que yo me fui por los cerros de Úbeda...
__________________
David Esperalta
www.decsoftutils.com
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


La franja horaria es GMT +2. Ahora son las 15:09:55.


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