如何使控件不可见但对鼠标事件有响应?

jpf*_*ius 2 delphi controls delphi-2009

我想创建一个不可见的控件(从TCustomControl派生)但对正常事件做出反应(我想用它来显示在自定义元素上移动鼠标时的提示).我认为重写paint方法并将其留空将完成这项工作但不幸的是在组件所在的位置绘制了一个矩形.

如何使控件完全不可见?

mgh*_*hie 9

您可以继承TGraphicControl而不是从TCustomControl,并将paint处理程序留空.什么都不会被画出来.

如果你需要一个窗口控件,那么你应该确保它没有边框并使用父背景.有关如何执行此操作的信息,请参阅此问题.您可能还需要覆盖CreateParams(),以删除边框样式位.