Como fazer uma procedure em tempo de execução

Delphi

05/04/2004

Estou fazendo um programa onde preciso inserir objetos images em um panel em tempo de execução. Isso eu já consegui fazer, o problema é que eu não sei como devo fazer para implementar os eventos destes objetos tais como OnMouseDown, OnMouseUP e OnMouseMove.

Portanto, eu gostaria que ao incluir estes objetos no panel eles já viessem com tais procedures associadas.

Como devo proceder ?

Obrigado
Renato


Galax

Galax

Curtidas 0

Respostas

Rafael Heise

Rafael Heise

05/04/2004

você deve criar uma procedure para cada evento que você quer...
e então, quando uma determinada figura for desenhada, você associa também a sua procedure ao evento...
Panel.OnMouseDown := SuaProcedure;
lembrando que a sua procedure deve ter os mesmos parâmetros do evento ao qual você quer associar...


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

05/04/2004

Exemplo Básico:

  TForm = class
    .....
  protected
    {protected declaration}
  public
    //DIGITE ISSO ABAIXO
    procedure ImageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure ImageMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
    procedure ImageMouseMove(Sender: TObject;Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
  //DEPOIS TECLE CTRL+SHIFT+C
  end;



Depois disso serão criados os procedimentos, vc coloca o código nescessario nelas, Sender é o Objeto que chamou o evento, ou seja, o que foi clicado

na hora em que você criar os Images, faca assim:
ImageCriado.OnMouseDown := IMageMouseDown;
ImageCriado.InMouseUp := ImageMouseUp;
ImageCriado.OnMouseMove := ImageCriadoMouseMove;


OK?


GOSTEI 0
POSTAR