2011-04-29 99 views
6

如何创建OnClick事件? 我需要帮助TCustomControl。如何将OnClick事件添加到TCustomControl?

+3

永远不会道歉有效的问题。问题是这个网站的用途。 – 2011-04-29 22:11:09

+0

另请参见[如何创建事件](http://stackoverflow.com/questions/5786595/delphi-event-handling-how-to-create-own-event)。 – 2011-04-30 04:31:36

回答

17

OnClick事件已在TCustomControl中定义。你所要做的就是让它可见。添加线

published 
    property OnClick; 

到你的控制,你就完成了!

+1

也可能有助于您知道,如果您想通过调用'click'或'if assigned(onClick)然后onclick(self)'''''''''''''''''''''''''' 'better' – 2011-04-30 04:50:11

+0

@RobRok:如果你复制了完整的声明,你实际上隐藏了前一个声明,这当然不再起作用。在你的后代中,只能添加'属性OnClick;'。这只会改变可见性(从公开或保护到公布),也称为“表面财产”,而不是重新宣布财产。 – 2011-04-30 06:46:34

+0

@Christopher:如果有一个'Click'或'DoClick'(它更强调事件触发的方法命名模式),那么一定要使用它,特别是在设计其他组件时也要使用它。它们通常是虚拟的,意味着后代可以更容易地“挂钩”到事件触发中。否则,后代就会陷入困境,只有在事件被解雇时,他们不得不采取事件链的办法。 – 2011-04-30 06:50:47

相关问题