动态产生的控件其鼠标移动事件程序如何写?(20分)

  • 主题发起人 主题发起人 SYT
  • 开始时间 开始时间
S

SYT

Unregistered / Unconfirmed
GUEST, unregistred user!
控件PaintBox内有鼠标移动事件
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
.... //在此可以添加自己的程序,并且可以使用该事件中的参数x,y
end;

以上的程序是我从控件板上将PaintBox拖至窗体上然后选中该控件并双击
PaintBox1的鼠标移动而产生的,我可以在其中添加我自己的程序在其中;
但是如果PaintBox是由程序动态的创建的,如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
aP:=TPaintBox.Create
aP.Parent:=form1;
ap.Left:=0;
ap.Top:=0;
ap.Width:=200;
ap.Height:=200;
end;
那么aP中的鼠标移动事件该如何写是好?

 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=204609
 
加上一句:
ap.onmousemove:=mymousemove;
其中mymousemove为自定义过程.将下列语句由
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
.... //在此可以添加自己的程序,并且可以使用该事件中的参数x,y
end;
该为

rocedure TForm1.myMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
.... //在此可以添加自己的程序,并且可以使用该事件中的参数x,y
end;

程序开始的窗体类声名也要该.
 
也可以这样:

TAClass = TPaintBox

procedure MouseMove(Shift: TShiftState; x, y: Integer);(override)
{忘了有没有了,试试看)
end;
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部