【发布时间】:2014-08-04 20:02:41
【问题描述】:
我需要在窗口上显示工具提示。我正在使用工具提示创建第二个窗口,并使用 SDL_RaiseWindow() 将其置于顶部。但是,这样做会导致工具提示窃取焦点,这不是我想要的。有没有办法在不改变焦点的情况下将窗口带到顶部?
另外,有没有办法在不改变窗口 Z 顺序的情况下设置焦点(鼠标和/或键盘)?
【问题讨论】:
-
作为在黑暗中的总刺,您可以尝试更改主窗口的窗口标志。不过,请在致电
SDL_RaiseWindow()后执行此操作。假设您的主窗口指针被称为 m_window 并且凸起的窗口是 m_raised 它将是m_window->flags |= SDL_WINDOW_INPUT_FOCUS然后是m_raised->flags &= ~SDL_WINDOW_INPUT_FOCUS您可能还需要手动调用SDL_OnWindowFocusGained(m_window)和SDL_OnWindowFocusLost(m_raised)- 这些都没有经过测试,它只是“可能” ' 工作。