CreateEx()创建的子窗口与同级窗口重叠
Child window created by CreateEx() overlapped by sibling windows
我尝试使用创建一个子窗口
CreateWindowEx( NULL, NULL, "MyChild", WS_CHILD | WS_VISIBLE | WS_BORDER, 300, 300, 400, 200, hParentWnd, NULL, NULL );
其中父HWND hParentWnd已经具有许多其他子窗口。然而,这创建了一个隐藏在所有兄弟姐妹后面的子窗口。Windows Spy++显示它在hParentWnd的子窗口中位于z顺序的顶部(第一个)。我已经尝试了所有不同的win32命令,包括SetWindowPos()
、BringWindowToTop()
、SetForegroundWindow()
、SetFocus()
、SetActiveWindow()
、SendMessage(WM_ACTIVATE, 0, 0)
等,但没有一个命令是从兄弟命令后面执行的。当我在CreateWindowEx()
命令中将WS_CHILD
替换为WS_OVERLAPPEDWINDOW
时,创建的非子窗口显示为最顶部的前台活动窗口没有问题。那么,我必须做些什么才能让孩子的窗户从兄弟姐妹后面爬到顶部呢?
非常感谢。
z/0
这在MSDN的CreateWindowEx()的文章中非常明确:
如果创建的窗口是子窗口,则其默认位置位于Z顺序的底部。如果创建的窗口是顶级窗口,则其默认位置位于Z顺序的顶部。
您需要使用SetWindowPos()将其移动到Z顺序的顶部。
相关文章:
- Ardunio UNO解决了多个重叠的定时器循环
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 问:如何使用C++中的按钮从窗口打开窗口
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- SDL 窗口不会弹出
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 如何在cpp文件之间切换窗口?在Qt中
- QuadTree只在窗口的右上角绘制
- 算术序列与区间的最大重叠
- Xlib.检查窗口是否重叠
- 如何在使用网格布局时重叠qwidgets,并将重叠的widget定位在距离窗口边界特定距离的位置
- pdcurses/ncurses中的重叠窗口
- C++Win32窗口重叠事件
- CreateEx()创建的子窗口与同级窗口重叠
- 检测窗口何时被来自相同或不同进程的另一个窗口重叠
- 停止应用程序窗口重叠窗口开始栏
- 创建最小化重叠窗口(Win32)
- 使用护士刷新重叠的窗口
- 窗口标题重叠Opengl渲染
- Win32窗口样式重叠问题