是否有添加/删除项目或更改说明等的标准方法?或者我是否需要简单地取消发布,释放所有内容,然后重新分配新菜单并重新开始?我的菜单有多达2000个选项,所以我真的很想避免分配和重新分配。
这个问题确实没有任何答案: Creating a dynamic menu in ncurses
答案 0 :(得分:1)
不 - 没有标准方法。使用ncurses,结构成员是可见的,因此可以创建new_item
的变体,它修改了文本的指针(和长度)。
除此之外,还有(标准)set_menu_items
。快速阅读源代码显示您可以使用相同的列表替换菜单中的项目(此处和那里有不同的项目),但这会重置整个菜单状态,因此您必须在再次发布菜单之前保存/恢复这些值。