1

我正在使用x/motif作为 GUI。我有右键单击某个区域时弹出的上下文菜单。

当右键单击太靠近显示器的右边缘,因此菜单本身太靠近显示器边缘时,子菜单没有足够的空间在主菜单旁边拉出。在这种情况下,当子菜单右侧没有更多空间时,它们开始占用与主菜单相同的空间。这使得菜单系统难以在靠近显示器的右边缘使用。

我见过有人为其他 UI 系统(例如网页设计)提出这个问题,但我找不到任何关于x/的信息motif。我现在正在试验,看看是否有可能或合理地在单击位置以外的位置显示菜单(例如:您在显示边缘附近单击,菜单在通常的位置左侧显示 X 个像素,所以还有空间),但我不确定这是否会奏效,并且在这种情况下将级联菜单级联到左侧将比这种解决方法更可取。

我在网上查了很多地方,也查了 Motif Programming Manual 和 Motif Reference Manual。如果它在那里,我还没有找到它。

我希望使用XtVaSetValues或类似的设置资源,以便我可以执行以下操作:

XtVaSetValues(menu, XmNsomething, please_go_left, NULL);

这与可用资源有关(即:无需创建完全自定义的菜单系统来重新发明轮子)是合理的,甚至是可能的吗?

问题:如何将上下文菜单的子菜单级联到左侧,而不是让它们在太靠近显示器边缘时尝试弹出到右侧?

4

0 回答 0