如何在NCurses / PdCurses中实现滚动或列表框? ( C )

时间:2012-03-14 14:20:49

标签: c++ c ncurses

我正在为学校项目创建文本用户界面应用程序。 我真的需要有关如何在NCurses / PDCurses(在C中)实现滚动框或列表框的帮助。

据我研究,scrollok使其成为可能。我已经尝试过我的项目,但无济于事。

滚动框用于垂直显示名称列表,当用户按下“N”时,滚动下一部分,当用户按下“P”时,滚动到前一部分。

谢谢!

2 个答案:

答案 0 :(得分:2)

scrollok不会神奇地创建一个滚动框,它只允许向上滚动窗口。您甚至不需要scrollok用于您的目的。刚

  • 将索引 i 维护到要显示的最顶层名称(最初为0)
  • 打印高度 h 从索引 i 到min的名称( i + h-1 i max )到窗口,从最上面一行开始
  • 当用户按“N”时,如果 i + h i max ,则将 i 设置为< em> i + h ,清除窗口框,转到打印
  • 当用户按下“P”时,如果 i &gt; 0 然后将 i 设置为 i-h ,清除窗口框,转到打印

答案 1 :(得分:0)

您是否看过CDK(Curses Development Kit)它有源代码,因此您可以检查或只使用它。此工具包上的ncurses网站上还有information