gpt4 book ai didi

c - 使用 XtAppMainLoop 时获取 X11 鼠标单击和位置? (改进xload)

转载 作者:行者123 更新时间:2023-11-30 17:35:51 25 4
gpt4 key购买 nike

如何注册回调来获取鼠标右键按下和向上事件?

背景:许多 UNIX 风格的标准 xload 应用程序几乎很方便。它按时间绘制系统负载图。它使用了一个简单的 StripChart 小部件,但存在缺陷;它绘制的网格是错误的。我已经解决了这个问题,但现在我希望能够单击条形图并获取与该负载相对应的时间。

来源在这里:http://learjeff.net/forums/xload .

main 进行设置并调用 XtAppMainLoop。我想知道如何注册(对于子 StripChart 面板)一个处理程序来获取鼠标上下事件,以及如何在向下事件的面板中查找鼠标位置。我不是 X11 程序员;我只是破解一个现有的程序。我上次进行 GUI 编程是在 X11 (SunWindows) 之前。我曾经修改过 X11 以在 OSI TP4 上运行,但这不需要太多的小部件知识。感谢所有帮助,包括指向要查找的正确函数的指针。谢谢!

同时,请随意使用我修改过的 xload 应用程序。您必须猜测标签上的数字的含义。

最佳答案

该程序是使用 X Toolkit Intrinsics 编写的和 Xaw .

您想要向相关小部件添加一个或多个操作(actionscore 中的 struct stripChartClassRec 字段)以及一个或多个翻译>(tm_table 字段)。

Action 是为响应小部件编写者定义的抽象事件而调用的 C 函数(例如 startDragging()pageDown() )。翻译将这些抽象事件映射到 Xt 理解的具体事件(例如 <Btn1Down><Key>KP_PageUp )。

在该操作中,您可以访问 XEvent触发该操作的结构体,从那里您可以获取鼠标坐标或其他任何内容。

要了解如何设置操作和翻译,请查看现有的 Xaw 小部件之一,例如潘纳。您可以下载Xaw源码here .

关于c - 使用 XtAppMainLoop 时获取 X11 鼠标单击和位置? (改进xload),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22871213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com