SDL2 升起窗口而不给予焦点

2024-03-21

我需要在窗口上显示工具提示。我正在使用工具提示创建第二个窗口,并使用 SDL_RaiseWindow() 将其带到顶部。然而,这样做会导致工具提示窃取焦点,这不是我想要的。有没有办法在不改变焦点的情况下将窗口置于顶部?

另外,有没有办法在不改变窗口 Z 顺序的情况下设置焦点(鼠标和/或键盘)?


尼尔给出的答案只能在X11下工作 as SDL_SetWindowInputFocus()仅针对该环境实施。本质上,否则无法实现所需的行为。我看到 SDL 论坛中有一个关于超载的功能请求SDL_RaiseWindow()函数包含一个可选的 bool 参数来指示凸起的窗口是否也应该接收输入焦点。我希望他们do实施该计划。

无论如何,SDL 2.x下对多窗口的支持有点弱。没有对不同窗口的 Z 顺序的内置支持,尝试基于“画家方法”构建一个窗口是可行的,但无法控制输入焦点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SDL2 升起窗口而不给予焦点 的相关文章

随机推荐

  • Threejs 变换矩阵排序

    我想知道 Threejs 如何对多个矩阵进行排序 例如 var mesh new THREE Mesh geometry material mesh position set 0 20 0 T transform matrix mesh r
  • XML 模式 xs:alternative 在 JSON 模式中是否可用?

    是否可以在 JSON Schema 中使用替代方案 在 XSD 中 这可以使用xs alternative元素 例如参见 如何在 XML Schema 1 1 中使用替代方案 https stackoverflow com question
  • 交叉编译器默认包含路径设置

    首先 一些背景知识 我正在尝试在 Beagleboard xM 上编写 Android 驱动程序和应用程序 我已经下载了他们的 Android 开发套件 安装了它 并且可以使用以下指示成功构建其中的所有内容http processors w
  • 纱线全局命令在 Mac 上失败

    我正在尝试使用纱线添加 vtex 但出现以下错误 Usage Error The yarn global commands have been removed in 2 x consider using yarn dlx or a thir
  • 带有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作

    我有一个使用 Azure Static Web App 部署的 vue 项目 项目包含路由器 历史模式 功能 它在本地运行完美 但部署到 Azure 路径链接后无法正常工作 例如 当我尝试从浏览器导航访问 mysite com about
  • 我可以在 C 或 C++ 中使用二进制文字吗?

    我需要使用二进制数 我尝试写 const char x 00010000 但这没有用 我知道我可以使用与以下值相同的十六进制数00010000 但我想知道 C 中是否有二进制数的类型 如果没有 是否有其他解决方案可以解决我的问题 如果您使用
  • 恢复域对象的最佳方法

    这是一个如此简单而常见的场景 我想知道到目前为止我是如何做到的以及为什么现在遇到问题 我有这个对象 基础设施程序集的一部分 public class Queue public class QueueItem public QueueItem
  • 使用 JavaScript 测试 url 可用性

    是否可以通过 jQuery 或纯 JavaScript 测试另一个域上的网页是否可用 我尝试使用 ajax 调用获取响应标头 但无论我测试自己的域之外的哪个网站 我都会收到错误 那么我的服务器上真的需要代理脚本吗 或者我可以跳过该请求吗 是
  • 如何为邮递员请求生成未来的日期和时间

    name IronMan phone number 555555555 number of guest 10 tables 2 reservation start at 2020 10 15T10 00 00 861873Z reserva
  • 按行组合 pandas 数据帧的有效方法

    我有 14 个数据框 每个数据框有 14 列和超过 250 000 行 数据框具有相同的列标题 我想按行合并数据框 我尝试将数据帧连接到 不断增长的 数据帧 这需要几个小时 本质上 我做了如下 13 次这样的事情 DF pd DataFra
  • 应用“文本溢出:省略号;”到内部 div

    I have a div structure similar to following image 我需要应用 文本溢出 省略号 在较小的窗口中使用此 div 结构中的文本 图 2 但它并没有像我预期的那样适用 这是我的 HTML 代码 h
  • Android 的所选项目选择器不起作用

    我有一个列表视图 我想在其中以自定义方式突出显示所选项目 我正在设置适配器中的每个项目属性getView方法 包括itemView setSelected true 主布局通过以下方式定义列表视图
  • C# 比较两个不同对象的列表[重复]

    这个问题在这里已经有答案了 I saw 比较两个 List 的最快方法 https stackoverflow com questions 12795882 quickest way to compare two list但我很难使其适应我
  • 级联空引用异常检查?

    有没有办法在 C 中进行通用级联空引用检查 我想要实现的是 如果我试图访问一个字符串变量 它是类 C 的一部分 而类 C 又在类 B 中 而类 B 又在 A 中 ABC str 如果我传入 A 我必须检查 A 是否为空 然后检查 B 是否为
  • 使用 smack 库的 GCM NoResponseException:回复超时内未收到响应

    我是 gcm 新手 我尝试使用 Smack API 连接到 GCM 的云连接服务器 XMPP 一开始还好 我的代码 uid 123456789 apiKey A B XMPPTCPConnectionConfiguration Builde
  • 当其中任意 1 个组合框发生更改时,列表框中的所有组合框都会发生变化

    我有一个ListBox在绑定到的表单上ObservableCollection自定义类型 每个项目内都有一个ComboBox绑定到枚举类型 当窗口加载时 所有ComboBoxes 默认为某个值 当我改变SelectedItem对于任何一个
  • 如何设置“git集群”

    我们正在考虑将我们的源代码版本控制系统从 Subversion 更改为 Git 我们正在突破当前设置的限制 并认为使用 git 会更好 我们一直在办公室使用主服务器 并在数据中心运行镜像 镜像配置为代理传入主服务器的提交 这样 两台机器就像
  • 为什么 emacs 中的 vc-git 和 magit 忽略我的 git 配置设置?

    我正在使用 magit 运行 emacs 24 1 1 的官方 Windows 二进制文件 当我提交文件时 日志中显示的用户名和电子邮件将从我的帐户和计算机名称中删除 而不是使用全局 git 配置或此重现的本地设置中设置的值 从 git b
  • 如何向数组添加元素?

    如何向现有数组添加元素 我有数组 Array 0 gt Array user id gt 1 user login gt Saibamen user password gt 4028a0e356acc947fcd2bfshfh3w26gds
  • SDL2 升起窗口而不给予焦点

    我需要在窗口上显示工具提示 我正在使用工具提示创建第二个窗口 并使用 SDL RaiseWindow 将其带到顶部 然而 这样做会导致工具提示窃取焦点 这不是我想要的 有没有办法在不改变焦点的情况下将窗口置于顶部 另外 有没有办法在不改变窗