我动态产生了一个控件我想单击他之后就删掉怎样实现 你直接调用它的 Free 方法就行了啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure DoClick(Sender: TObject);begin Sender.Free;end;在控件创建时,加上一条:xxx.OnClick=DoClick; 如果在控件的单击事件中free,有可能会报错重载窗体的wndproc方法,响应控件发出的消息,这样就安全了type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure WndProc(var Msg: TMessage); override; private { Private declarations } Button2:TButton; public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin Button2:=TButton.Create(Application); Button2.Top:=100; Button2.Left:=100; Button2.Visible:=True; Button2.Width:=100; Button2.Height:=50; Button2.Parent:=Form1; Button2.OnClick:=Form1.Button2Click;end;procedure TForm1.WndProc(var Msg: TMessage);begin if Msg.Msg=9999 then begin Button2.Free; inherited; end else inherited;end;procedure TForm1.Button2Click(Sender: TObject);begin SendMessage(Form1.Handle,9999,0,0);end; Delphi 连接mysql时单引号问题 新手提问:关于自定义函数的问题。 窗口显示——老问题一直没解决 如何删除listbox所选择的项目? 为什么我的fastreport在使用adoquery做数据源的时候就总是重复打印地一条记录? 大家来帮忙!! 在clx下面怎么像vcl的table访问数据库? 动态创建数据表 请问怎样在程序中执行Dos命令 DELPHI一个表单定义的过程,怎样在另一个表单调用 请问谁有用DELPHI的开发B/S结构的软件的资料? 在本机运行正常的程序拿到其它机器上就不行了,大家看看是什么原因。
begin
Sender.Free;
end;在控件创建时,加上一条:xxx.OnClick=DoClick;
重载窗体的wndproc方法,响应控件发出的消息,这样就安全了
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure WndProc(var Msg: TMessage); override;
private
{ Private declarations }
Button2:TButton;
public
{ Public declarations }
end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
Button2:=TButton.Create(Application);
Button2.Top:=100;
Button2.Left:=100;
Button2.Visible:=True;
Button2.Width:=100;
Button2.Height:=50;
Button2.Parent:=Form1;
Button2.OnClick:=Form1.Button2Click;
end;procedure TForm1.WndProc(var Msg: TMessage);
begin
if Msg.Msg=9999 then
begin
Button2.Free;
inherited;
end
else
inherited;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
SendMessage(Form1.Handle,9999,0,0);
end;