【发布时间】:2013-07-31 19:11:56
【问题描述】:
我正在使用 HwndHost 将另一个应用程序的窗口停靠在我的 WPF 窗口中。为此,我必须设置我正在停靠的窗口的 WS_CHILD 样式属性,并且我丢失了该窗口的系统菜单,这是不可接受的。使用 HwndHost 无法解决此问题,因为如果未设置该属性,它将引发异常。
我的问题是;
由于我的应用程序不使用系统菜单,有没有办法直接将停靠的应用程序的系统菜单复制到我的应用程序窗口?我知道的 WinAPI 菜单功能都需要我从头开始构建菜单,我不知道如何将这些菜单连接到托管应用程序中。
我不确定这是否重要,但两个窗口在同一个进程中。我的应用是我正在对接的应用窗口的插件。
【问题讨论】:
-
我不太了解你的框架。通常,插件停靠在主机中,而听起来您正在将主机停靠在插件中。为什么?
-
[@user...] 我也不明白一些事情:子窗口不能有(获取/设置)菜单栏,但可以(如果你真的想要)有 WS_SYSMENU 并因此 - (Get)系统菜单...
标签: wpf winapi hwndhost systemmenu