pdcurses/ncurses中的重叠窗口

overlapping windows in pdcurses/ncurses

本文关键字:重叠 窗口 ncurses pdcurses      更新时间:2023-10-16

我的第一个程序需要帮助,它正在使用一个额外的库:pdcurses(ncurses)。我创建了弹出窗口,它很有效。问题是当我试图删除此窗口时。正如你可能猜到的,尽管我删除了它,但空格仍然存在。起初我觉得这没什么大不了的,我可以重新创建背景(另一个窗口)。事实远非如此。当我使用create_rightwin(col,row);重新创建窗口时;,create_leftwin(col,row);同样,它破坏了这些窗口的这一部分,这些窗口与弹出窗口没有任何接触。看起来attron已经打开,其他窗口中的所有标题都已保留。我在网上读到我应该使用wintouch(),但我不知道如何以及何时使用。有人有类似的问题吗?

如前所述,panel库解决了绘制和更新重叠窗口的问题。pdcurses和ncurses都提供了一个panel库。

ncurses编程方法有一个关于面板库的部分(其中包括一个示例):

  • 16.面板库

该指南最初附带了一个带有来源的zip文件,该文件似乎被放错了地方。ncurses常见问题解答中有一个链接的副本,其中列出了如何操作以及其他一些参考资料。

ncurses的来源包括几个测试程序(不像how-to那么简单);其中一些证明了CCD_ 3的使用。这些测试程序分别作为ncurses示例提供。

panel库也在一些来自C以外其他语言的绑定中得到支持,如以下页面所述:

  • Guile
  • Perl
  • Python
  • Ruby