【发布时间】:2010-05-13 00:22:56
【问题描述】:
我有一个父窗体,里面有一些子窗口(不是窗体 - 只是窗口,例如标签控件)。在某些情况下,我希望将其中一个子窗口绘制在其他窗口“上方”,以便在整个主窗体上显示一条消息。
我已经尝试在子窗口上设置 HWND_TOPMOST 和 HWND_TOP,但它似乎根本没有任何效果。我做错了什么,还是 HWND_TOPMOST 和 HWND_TOP 仅适用于表单,而不是表单中的控件?
谢谢。
【问题讨论】:
我有一个父窗体,里面有一些子窗口(不是窗体 - 只是窗口,例如标签控件)。在某些情况下,我希望将其中一个子窗口绘制在其他窗口“上方”,以便在整个主窗体上显示一条消息。
我已经尝试在子窗口上设置 HWND_TOPMOST 和 HWND_TOP,但它似乎根本没有任何效果。我做错了什么,还是 HWND_TOPMOST 和 HWND_TOP 仅适用于表单,而不是表单中的控件?
谢谢。
【问题讨论】:
HWND_TOPMOST 仅适用于顶级窗口,不适用于子窗口。
使用带有 HWND_TOP 标志的 SetWindowPos 更改目标子窗口的 zorder 以将其置于其兄弟窗口的 zorder 顶部。
请注意,子窗口中的 zorder 仅适用于同级窗口 - 具有相同父级的 hwnd。
【讨论】:
当我想在所有子窗口的顶部放置一个滚动条控件时,我遇到了这个问题。
我的解决方案是:
【讨论】: