动态创建的控件,如何把事件写在一个公共的unit里面?
解决方案 »
- 大牛求助啊。。delphi查询数据库太慢,如何解决【附代码】
- 在Oracle 11g中
- 请教,delphi程序中如何调用Zebra打印机的ZPL指令,来打印条形码
- 精度问题
- 哪位有 http://www.datcn.com/luntan/list.asp?boardid=10 这个网址下的人事源代码呀?发我一份!
- 如何打开系统的“音量控制”程序
- 请问如何把焦点移到DBGrid的某一列上????
- 怎样让Panel空件某部分的颜色变暗或变亮,更现立体效果。比如上边和下边
- try except 中如何取得异常的类型?
- 为什么有那么多的公司选择Delphi而不用PowerBuilder开发数据库管理系统,其优势在哪里?
- 怎么设置一个定时器的间隔?
- 怎么去掉窗口的标题栏?
Unit中写:
procedure Timer1Timer(Sender: TObject);
begin
MessageBox(0, 'aa', 'bb', 0);
end;调用是
var
Method:TMethod;
begin
Method.Data := nil;
Method.Code := @Timer1Timer;
timer1.OnTimer:= TNotifyEvent(Method);
end.http://lysoft.7u7.net
button1: tbutton;
procdure button1click(sender: tobject);
end;procedure tform1.button1click(sender: tobject);
begin
showmessage(Self.caption);
end;你看button1click这个方法,它要用到self.caption也就是form1的caption,这个self就是上下文变量你说的写在一个公共的单元里,假设也要动态创建象上面的button1的button,也就是这个button也要执行showmessage(form1.caption),那么如果不依附在form1上面,就得不到self,也无从得到caption
事件可以先写好函数,然后动态添加到按钮里。看看按钮click事件函数怎么写。我们现在很多函数都是动态挂在按钮上的,不难!