如何解决如何从 xlib
我正在尝试实现一项功能,当用户将鼠标悬停在子窗口上时,该功能会更改子窗口的颜色。为此,我需要接收特定子窗口的 EnterNotify 事件。我收到 EnterNotify 事件没有问题,但我不知道如何区分 EnterNotify 事件来自哪个子窗口。如何从事件中获取事件窗口?
if (event.type == EnterNotify && event.xcrossing.window == w11) {
std::cout << "ENTER WINDOW" << std::endl;
}
这是我尝试将 w11 作为子窗口的方法。当 EnterNotify 事件进入时,没有任何内容发送到输出,但是如果我将 event.xcrossing.window 等效性更改为 win(父窗口),如下所示,它将在 EnterNotify 事件发生时产生输出。谢谢。>
if (event.type == EnterNotify && event.xcrossing.window == win) {
std::cout << "ENTER WINDOW" << std::endl;
}
解决方法
事实证明,当您使用 XCreateSimpleWindow 创建子窗口时,父窗口的掩码输入不会传递到子窗口。我所要做的就是更新每个子窗口以接收 EnterWindowMask 事件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。