Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我怎样才能使一个儿童窗口最上面?_C++_Winapi - Fatal编程技术网

C++ 我怎样才能使一个儿童窗口最上面?

C++ 我怎样才能使一个儿童窗口最上面?,c++,winapi,C++,Winapi,我有一个父窗体,其中有一些子窗口(不是窗体,只是窗口,例如标签控件)。在某些情况下,我希望这些子窗口中的一个在其他子窗口的“上方”绘制,以便在整个主窗体上显示消息 我尝试在子窗口上设置HWND_TOPMOST和HWND_TOP,但似乎没有任何效果。是我做错了什么,还是HWND_TOPMOST和HWND_TOP只在表单上工作,而不是表单中的控件 谢谢。HWND\u TOPMOST仅适用于顶层窗口,而不适用于子窗口 使用带有HWND_TOP标志的SetWindowPos更改目标子窗口的zorder,

我有一个父窗体,其中有一些子窗口(不是窗体,只是窗口,例如标签控件)。在某些情况下,我希望这些子窗口中的一个在其他子窗口的“上方”绘制,以便在整个主窗体上显示消息

我尝试在子窗口上设置HWND_TOPMOST和HWND_TOP,但似乎没有任何效果。是我做错了什么,还是HWND_TOPMOST和HWND_TOP只在表单上工作,而不是表单中的控件


谢谢。

HWND\u TOPMOST仅适用于顶层窗口,而不适用于子窗口

使用带有HWND_TOP标志的SetWindowPos更改目标子窗口的zorder,使其位于同级中zorder的顶部


请注意,子窗口中的zorder仅适用于具有相同父窗口的同级HWND

HWND_TOPMOST仅适用于顶层窗口,而不适用于子窗口

使用带有HWND_TOP标志的SetWindowPos更改目标子窗口的zorder,使其位于同级中zorder的顶部


请注意,子窗口中的zorder仅适用于具有相同父窗口的同级HWND

当我想在所有子窗口的顶部放置滚动条控件时,我遇到了这个问题

我的解决办法是:

  • 对所有子窗口使用WS_剪辑。这样可以防止重画同级窗口的重叠区域
  • 在HwnInsertafter上使用带有HWND_TOP的SetWindowPos将其置于其他控件之上

  • 当我想在所有子窗口的顶部放置一个滚动条控件时,我遇到了这个问题

    我的解决办法是:

  • 对所有子窗口使用WS_剪辑。这样可以防止重画同级窗口的重叠区域
  • 在HwnInsertafter上使用带有HWND_TOP的SetWindowPos将其置于其他控件之上