急救:在运行程序过程动态创建的控件如何在触发事件的时候,响应自己的事件处理代码?(50分)

  • 主题发起人 主题发起人 xuyingfeng
  • 开始时间 开始时间
X

xuyingfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
急救:在运行程序过程动态创建的控件如何在触发事件的时候,响应自己的事件处理代码?
例如程序中动态创建的button,当点击它时怎样执行自己在这个事件中添加的代码?
 
http://202.120.85.61/delphibbs/DispQ.asp?LID=298735
 
button1:=Tbutton.create(self);
button1.onclick:=你的过程
 
请给个详细点儿的OK
 
没有人?
zjc的答案里没有CM_MOUSEDOWN消息,没法处理;
hua8hua的答案我怎么做不成???
 
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure abuttonmousedown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var a:tbutton;
procedure TForm1.abuttonmousedown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
showmessage('自定义事件');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=tbutton.Create(self);
a.parent:=form1;
a.show;
a.caption:='自建按钮';
a.OnMouseDown :=abuttonmousedown;
end;
end.
 
多人接受答案了。
 
后退
顶部