在父窗口中约束可拖动的子窗口?

时间:2015-08-23 19:47:29

标签: c++ c winapi window childwindow

请看一下这个截图:

enter image description here

正如您所看到的,"可执行模块" "线程" 子窗口可以自由漫游像沙盒一样的" Themida" 父窗口,如果它们被拖过边缘,溢出就会被隐藏起来。如何创建此效果?

1 个答案:

答案 0 :(得分:1)

只需将窗口样式设置为WS_CHILD,窗口将被限制在父客户端矩形中。

您可以在创建窗口期间或使用SetWindowLongPtr()GetWindowLongPtr()后执行此操作:

 SetWindowLongPtr(hwnd, GWL_STYLE, WS_CHILD | GetWindowLongPtr(hwnd, GWL_STYLE));

P.S。您无需创建MDI应用程序即可实现此行为。