Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 是否检测窗体上任何可视组件的可见性更改?_Delphi_Delphi Xe2 - Fatal编程技术网

Delphi 是否检测窗体上任何可视组件的可见性更改?

Delphi 是否检测窗体上任何可视组件的可见性更改?,delphi,delphi-xe2,Delphi,Delphi Xe2,当Delphi窗体上的任何可视组件更改其可见性状态时,即当它变为可见或不可见时,是否可能触发事件? 我可以写一个计时器,例如10毫秒来检查这个,但这将是非常麻烦的。难道没有一种优雅的方法可以做到这一点吗?对于任何类型的控件,都要这样做吗?另外,为什么要这样做?@DavidHeffernan通常用于单个控件,但也可能用于多个控件,其中包括多种类型的控件。用于调试。您可以替换窗口过程。使用WindowProc属性。收听CM_VISIBLECHANGED。我认为。在列表中始终保留所有控件及其可见性状态

当Delphi窗体上的任何可视组件更改其可见性状态时,即当它变为可见或不可见时,是否可能触发事件?
我可以写一个计时器,例如10毫秒来检查这个,但这将是非常麻烦的。难道没有一种优雅的方法可以做到这一点吗?

对于任何类型的控件,都要这样做吗?另外,为什么要这样做?@DavidHeffernan通常用于单个控件,但也可能用于多个控件,其中包括多种类型的控件。用于调试。您可以替换窗口过程。使用WindowProc属性。收听CM_VISIBLECHANGED。我认为。在列表中始终保留所有控件及其可见性状态的列表。替代窗体上的对齐控件。每当它被点击时,迭代列表以获得可能的状态更改。当然,我并不是真的这么说。