delphi panel隐藏的问题?

窗体上有个N个EDIT,LABEL,MEMO,按钮等控件,一个PANEL控件,单击按钮PANEL显示,我想单击窗体上任何一个地方PANEL隐藏,有么有好办法啊,不会每个控件里都写上隐藏PANEL的代码吧。这样的话太麻烦了。

试验了下,拦截并且处理
WM_MOUSEACTIVATE WM_LBUTTONUP 即可。

用C#已经验证。
图片说明