自定义事件(300分)

  • 主题发起人 主题发起人 f643208
  • 开始时间 开始时间
F

f643208

Unregistered / Unconfirmed
GUEST, unregistred user!
自定义事件
我自己定义了个事件 KeyPressInt:TKeyPressEvent;
想在KeyPressInt 中实现一些功能,该如何办.
 
你想实现什么功能,就在里面写。
 
如果针对某个组件的KEYPRESS,就直接写在改组件的ONKEYPRESS组件写
或者自定义一个message函数做相应的处理
 
最好看看VCL的源码呵
 
你定义了事件,但你还要触发它
在合适的时候: if Assign(KeyPressInt) then KeyPressInt(XXX...)
 
在对象创建的时候,要设置这个属性
 
同意楼上Gxcooo说的
 
谁能做过例子
 
建议看看<DELPHI5开发人员指南>的自定义控件部分
 
不理解你的具体环境!
如果要让一个事件运行,可以给这个事件赋值一个方法!

先定义一个方法。

procedure keypressdo(Sender: TObject; var Key: Char);
......
procedure TForm1.keypressdo(Sender: TObject; var Key: Char);
begin
showmessage('keypress do something');
end;
然后赋值:
keypressint:=keypressdo;
最后运行它!
if assigned(keypressint) then keypressint(nil,key);
要记得运行前声明var key:char;
这样,就可以运行这个事件了。

有300分!
快点给啦!:)
 
当然可以自定义,但你必须确定在什么情况下触发该事件。
一般在自己写类时定义。
 
后退
顶部