事先定义一个过程.比如:   
procedure  mymousedown(sender:Tobject;x,y:integer;ssshift:Tssshift)
然后在创建image对象之后赋值:
 image1.mousedown:=mymousedown
注意新建过程和image应有的过程参数要一致就行了

解决方案 »

  1.   

    //....
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      with TImage.Create(Self) do begin
        Parent := Self;
        Canvas.FillRect(BoundsRect);
        OnMouseDown := ImageMouseDown;
      end;
    end;procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ShowMessage('直接可以用Image1.OnMouseDown修改');
    end;//....