【发布时间】:2013-03-12 11:41:41
【问题描述】:
如何同步一个弹出窗口总是在另一个弹出窗口之上?两个窗口都在同一个进程中,但在不同的线程中。 系统对所有者和拥有的窗口使用类似的方法,但这些窗口必须属于同一个线程。就我而言,一个进程中有两个不同的 UI 线程,并且在这些不同的线程中创建窗口。
【问题讨论】:
如何同步一个弹出窗口总是在另一个弹出窗口之上?两个窗口都在同一个进程中,但在不同的线程中。 系统对所有者和拥有的窗口使用类似的方法,但这些窗口必须属于同一个线程。就我而言,一个进程中有两个不同的 UI 线程,并且在这些不同的线程中创建窗口。
【问题讨论】:
使用SetWindowPos:
SetWindowPos(window_1, window_2, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
【讨论】:
WS_POPUP 样式(而不是WS_OVERLAPPED 或WS_CHILD),并将另一个窗口指定为其所有者(hWndParent)。
系统用于所有者和拥有窗口的类似方法,但这些窗口必须属于同一线程。
这个说法是错误的。您确实可以使窗口的所有者成为来自不同进程的窗口。这是做你想做的事的正确方法。
【讨论】: