【问题标题】:How to get the resize event of a parent window using its handle in child window?如何使用子窗口中的句柄获取父窗口的调整大小事件?
【发布时间】:2014-01-10 09:17:04
【问题描述】:

我已经使用 mfc 制作了浏览器窗口。 然后使用SetParent 将其添加为 VLC 播放器的子级。 我的子进程中有 VLC 播放器的句柄。

现在我想在调整 VLC 窗口大小时调整子窗口(浏览器)的大小。

有什么方法可以在子代码中使用父窗口的句柄来获取父窗口的调整大小事件,这样我也可以调整子对话框的大小?

【问题讨论】:

  • 自从我使用 Windows SDK 以来已经有一段时间了,但是您能否不替换捕获 WM_SIZE 的窗口 proc(存储旧的),然后在您处理它之前或之后委托回原始 WndProc你自己?
  • 消息处理似乎不起作用。
  • 使用 SetParent() hack 非常很麻烦。您需要编写一个可以使用 SetWindowsHookEx() 注入 VLC 的 DLL,以便您可以监视消息。很难做对。不要这样做,而是创建一个插件。

标签: c++ windows mfc


【解决方案1】:

你想错了。

在 VLC 窗口中捕获事件并在处理程序中设置子(浏览器)窗口的新大小。

【讨论】:

  • 我对 vlc 没有太多控制权。它只会启动我的(子)exe。
  • 然后继承父句柄,这会通过新的 windows 对象路由消息并在那里处理它。 (msdn.microsoft.com/en-us/library/6wt95892.aspx)
  • @Oakdale 你不能跨进程“子类化”!
  • @manuell 非常正确 - 我在问题中错过了这一点,看起来他对我来说很无聊。
猜你喜欢
  • 1970-01-01
  • 2023-03-24
  • 2011-01-28
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-24
相关资源
最近更新 更多