【问题标题】:How to catch form WM_NCCalcSize from inside a Delphi custom component如何从 Delphi 自定义组件中捕获表单 WM_NCCalcSize
【发布时间】:2020-12-07 10:29:39
【问题描述】:

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

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

这些程序控制表单上标题栏的大小或将其隐藏。

【问题讨论】:

    标签: delphi components


    【解决方案1】:

    这些消息直接发送到窗体的窗口过程。所以组件必须继承 Form 来拦截它们。例如,通过使用GetParentForm() 函数获取指向表单的指针,然后将其WindowProc 属性替换为自定义处理程序。

    【讨论】:

    • 感谢您的指导,我陷入了子分类和重定向的泥潭,以至于忘记了主要内容。 WindwProc 的建议很完美。
    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 2021-03-13
    • 2016-08-06
    • 2020-10-05
    • 2019-12-23
    • 1970-01-01
    • 2023-03-03
    • 2013-12-08
    相关资源
    最近更新 更多