C++ 为子窗口保留空间类似于菜单栏

C++ 为子窗口保留空间类似于菜单栏,c++,windows,winapi,sdl,C++,Windows,Winapi,Sdl,我正在编写一个DLL,将其注入到创建SDL游戏窗口的进程中。我能够创建子窗口并监听消息,但有一件事我很难做到,也很难找到方法,那就是窃取游戏框架中不会用到的空间 我的意思是,我想给我的窗口空间,就像菜单栏有空间一样。当我设置菜单时,窗口的其余部分会自动向下蜷缩到剩余空间中。但是,对于使用CreateWindowEx创建的窗口,我找不到类似的方法 我知道这里有很多未知的和潜在的重要因素会决定最佳的行动方案,但是我有没有发现任何win32函数可以帮助解决这个问题?它们不需要经常改变大小。我只想要这样

我正在编写一个DLL,将其注入到创建SDL游戏窗口的进程中。我能够创建子窗口并监听消息,但有一件事我很难做到,也很难找到方法,那就是窃取游戏框架中不会用到的空间

我的意思是,我想给我的窗口空间,就像菜单栏有空间一样。当我设置菜单时,窗口的其余部分会自动向下蜷缩到剩余空间中。但是,对于使用CreateWindowEx创建的窗口,我找不到类似的方法

我知道这里有很多未知的和潜在的重要因素会决定最佳的行动方案,但是我有没有发现任何win32函数可以帮助解决这个问题?它们不需要经常改变大小。我只想要这样的东西:

ReserveSpace(wnd, 0, 0, width, 20);
// Place CreateWindowEx-ed HWND there
(好吧,我不指望有这么简单的事情)


这容易做到吗?我知道“保留”一个任意大小的矩形是没有意义的,如果可能的话,我必须保留一行或一列,但这是可以接受的。有什么想法吗?

你为什么认为你必须“保留”任何东西?只需在目标窗口前面渲染窗口。使您的窗口成为自有窗口会自动为您完成所有这些任务。@I不可检测,您能详细说明一下吗?我正在添加内容的窗口不是“我的”窗口,我也没有来源。@IInspectable啊,我明白你的意思。它是一个子窗口,可以完美地充当子窗口,但它覆盖了“盒子”,占据了游戏渲染的所有窗口空间。我的目标是像菜单栏的行为一样,从侧面切掉行和列;我希望它有自己的空间,并且仍然可以看到窗口的所有其余部分,只是压缩到剩余的空间中。除非我有误解?如果这是你想要的,你需要渗透到游戏窗口的消息处理,并处理消息。这可能有效,也可能无效,这取决于游戏如何为其视口确定窗口的客户端大小。