【发布时间】:2019-03-28 13:26:08
【问题描述】:
所以我有一个 WPF 应用程序,在某些情况下,当事件发生时,我使用 WPF 窗口句柄上的本机 SetWindowPos 将其置于前面或发送到后台。 通常当调用 SetWindowPos 时,窗口中的视觉内容也会发生变化。 在某些情况下,视觉内容不会改变,直到鼠标移到窗口上或出现输入事件(鼠标单击或类似事件)。 那么问题是这是否与 SetWindowPos 函数有某种关联?
完整调用示例
User32.SetWindowPos(SHELL_HWND, HWND.HWND_BOTTOM, 0, 0, 0, 0, SWP.SWP_NOSIZE | SWP.SWP_NOACTIVATE | SWP.SWP_NOMOVE);
User32.SetWindowPos(SHELL_HWND, HWND.HWND_TOPMOST, 0, 0, 0, 0, SWP.SWP_TOPMPOST);
【问题讨论】:
-
SWP_TOPMPOST是什么? SetWindowPos 上似乎没有这个标志。 -
确实我删除了它,但事实并非如此,我认为问题是我正在使用的自定义控件之一。与调整主窗口大小的 SetWindowPos 结合使用会导致此问题。