【问题标题】:How to instantiate a class which normally needs parent(TWinControl) in a dll?如何在 dll 中实例化通常需要 parent(TWinControl) 的类?
【发布时间】:2012-09-17 08:56:05
【问题描述】:

我必须动态使用通常具有可视部分的组件。 该可视部分可以关闭,但是当我创建它需要父组件时。

我必须使用 dll 库中的组件。是否有可能以及如何解决该问题?我怎样才能通过父母?

谢谢!

【问题讨论】:

  • 您是否尝试过创建一个隐藏窗口并将其设为父窗口?例如AllocateHwnd 会给你一个窗口。
  • “父母”是什么意思?真正的关系是什么?显示代码。另外为什么不能使用普通的 BPL 而不是 DLL?
  • @DavidHeffernan 你能发布一些代码吗?我需要 TWincontrol 类的父级。如何使用创建的句柄?
  • 你真的需要Parent吗?拥有父窗口句柄还不够。你不能使用CreateParented 来创建你的控件吗?如果您绝对需要Parent,请创建一个。只需创建一个不可见的控件并使用它。当我们并不真正了解该组件需要什么时,很难提供代码。
  • @DavidHeffernan 好的,createparented 成功了。谢谢!

标签: delphi delphi-7


【解决方案1】:

创建一个隐藏的窗口句柄,例如AllocateHWnd(nil)。然后通过调用 CreateParented 传递隐藏的窗口句柄来创建您的控件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多