如何在NCurses/PdCurses中实现滚动或列表框?(C)
How to implement a scroll or list box in NCurses/PdCurses? ( C )
我正在为一个学校项目创建一个文本用户界面应用程序。我真的需要关于如何在NCurses/PDCurses(C)中实现滚动框或列表框的帮助。
就我所研究的而言,scrollok使它成为可能。我在我的项目中试过,但没有用。
滚动框用于垂直显示名称列表,当用户按"N"时,滚动下一部分,当用户按下"p"时,则滚动到上一部分。
谢谢!
scrollok
并没有神奇地创建滚动框,它只是允许窗口向上滚动。您甚至不需要scrollok
。只是
- 维护要显示的最顶端名称的索引i(最初为0)
- 从最顶层开始,将索引i到最小值(i+h-1,imax)的高度h名称打印到窗口
- 当用户按下"N"时,如果i+h≤imax然后将i设置为i+h,清除窗口框,转到打印
- 当用户按下"P"时,如果i>0然后将i设置为i-h,清除窗口框,转到打印
你见过CDK(Curses Development Kit)吗?它有源代码,所以你可以检查或使用它。这个工具包上还有关于ncurses网站的信息。
相关文章:
- Pybind11:将元组列表从Python传递到C++
- 从链接列表c++中删除一个项目
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++如何通过用户输入删除列表元素
- 读取文件的最后一行并输入到链接列表时出错
- 使用一个考虑到std::map中键值的滚动或换行的键
- 复制列表初始化的隐式转换的等级是多少
- LNK2038、MSVS2017 MAGMA的原因列表
- 如何在移动列表视图中添加滚动条?并且用户只能垂直滚动特定区域
- 列表视图中的 CListCtrl 垂直滚动条
- 当用户将列表视图项拖动到其滚动条上时,执行默认滚动行为
- 如何在C++中滚动锁定报表样式列表视图的第一列
- 黑莓 10 SDK 测试版 2 中的列表视图滚动问题
- 禁用列表视图中的水平滚动条
- C++ 具有水平滚动条的 MFC 列表控件
- 在Qt上滚动标签列表
- 使用水平滚动条手动设置 MFC CComboBox 下拉列表高度
- 如何在NCurses/PdCurses中实现滚动或列表框?(C)
- 滚动时Qt列表小工具动态内容加载
- 滚动QListView以在列表开始插入时保持项目在视图中