gpt4 book ai didi

c - GTK:定位上下文菜单项 w.r.t 上下文菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:24 26 4
gpt4 key购买 nike

我正在处理我的 GTK 代码中显示上下文菜单的缺陷。创建包含多个菜单项的菜单后,我使用 gtk_menu_popup() 来显示菜单。此函数采用 GtkMenuPositionFunc 类型的函数指针,它让我定位菜单。除了告诉 GTK 保持当前位置但如果菜单的一部分在监视器之外(使用函数的第四个参数)将菜单插入之外,我在这里什么也没做。我的问题是当 GTK 插入菜单时,菜单项的绝对位置没有改变。因此,它们的滚动位置会发生变化,从而导致菜单中出现滚动条。我希望菜单项与菜单的相对位置保持固定。有什么办法可以做到吗? GTK 文档确实警告了这个问题,但没有说明如何修复它。有它的链接供引用:

http://library.gnome.org/devel/gtk/unstable/GtkMenu.html#GtkMenuPositionFunc

编辑:我希望包含一些代码,但逻辑太分散了。

最佳答案

如果您只需要默认行为,则无需提供定位功能。默认行为是保持当前位置,但要确保菜单适合显示器,因此您可以传递 NULL 作为定位函数。

也可以看看默认定位函数是怎么写的:http://git.gnome.org/browse/gtk+/tree/gtk/gtkmenu.c , gtk_menu_position() 目前在第 4288 行。

PS.如果您的逻辑过于分散而无法发布代码示例,那么您应该考虑清理它。

关于c - GTK:定位上下文菜单项 w.r.t 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341840/

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