用image.create(self)创建的控件如何编写它的onmousemove事件?
新手问题,请多关照。直接在窗体中创建的IMAGE可以在EVENT里面选择ONMOUSEMOVE事件来编写,这种在程序运行中创建的对象如何写它的MOUSEMOVE内容呢?
给你做了个例子
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
procedure MyMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
img : TImage;
begin
img := TImage.Create(nil);
img.Parent := Form1;
img.Left := 100;
img.Top := 100;
img.OnMouseMove := MyMouseMove;
img.Canvas.TextOut(0,0,'请把鼠标移动上来');
end;
procedure TForm1.MyMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
(sender as TImage).Canvas.LineTo(x,y);
end;
end.