如何从 Delphi 自定义组件中捕获表单 WM_NCCalcSize

How to catch form WM_NCCalcSize from inside a Delphi custom component

是否可以从自定义组件的过程中控制或重定向表单的 WM_NCCalcSize 和 WM_NCHitTest 事件?

我已经能够重定向表单的 Paint 和 Resize 事件,但现在我需要处理来自自定义组件过程的 WM_NCCalcSize 和 WM_NCHitTest 事件。

这些程序控制窗体上标题栏的大小或简单地隐藏它。

这些消息直接发送到表单的 window 过程。所以组件必须继承 Form 来拦截它们。例如,通过将 GetParentForm() function to get a pointer to the Form, and then replacing its WindowProc 属性 与自定义处理程序一起使用。