Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Evento en BitBtn creado en tiempo de ejecución (https://www.clubdelphi.com/foros/showthread.php?t=78697)

newtron 10-05-2012 13:32:28

Evento en BitBtn creado en tiempo de ejecución
 
Hola a tod@s.

Tengo creado un componente no visual heredado de un TStringGrid el cual estoy modificando para poder en determinadas columnas insertar un campo memo.

Para esto, cuando la columna cumple la condición adecuada, tengo un BitBtn creado que pongo visible y lo coloco ajustado a la derecha de la columna para que se pueda picar con el ratón para abrir una ventana y poder introducir el texto del campo memo.

Todo esto funciona bien, el problema es que al crear el BitBtn asigno el evento OnClick pero cuando ejecuto el programa pico en el botón y no me hace caso, sin embargo si lo asigno en el evento OnEnter si lo ejecuta. ¿Alguien me puede decir por qué no me hace caso en el evento OnClick?

El botón lo creo de la siguiente forma:

Código Delphi [-]
Boton:=TBitbtn.Create(Self);
Boton.Caption := '...';
Boton.Parent  := Self;
Boton.Visible := False;
Boton.Width   := 17;
Boton.OnClick := nBotonClick;

y tengo creado el siguiente procedimiento:

Código Delphi [-]
procedure TNTStringGrid.nBotonClick(Sender: TObject);
begin
  Showmessage('hola');
end;

Gracias y un saludo

olbeup 10-05-2012 14:53:05

A mi me funciona perfectamente, ¿donde has definido el botón? nBotonClick, ¿los has de hacer dentro del formulario?
Código Delphi [-]
type
  TForm1 = class(TForm)
    ...
    ...
    ...
    procedure nBotonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

procedure TForm1.nBotonClick(Sender: TObject);
begin
  ShowMessage('Hola');
end;

Un saludo

newtron 10-05-2012 16:54:14

Cita:

Empezado por olbeup (Mensaje 432296)
A mi me funciona perfectamente, ¿donde has definido el botón? nBotonClick, ¿los has de hacer dentro del formulario?

Pues lo he definido dentro del componente del stringgrid que es donde se crea el botón. Igual que si lo cambio por el evento OnEnter si funciona, eso es lo que me confunde. (Al Dinio le confunde la noche y a mi el evento OnClick, lo mismo que es. :D)


La franja horaria es GMT +2. Ahora son las 18:43:16.

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