ncurses: Subwin 或 pad 的 subpad

Man*_*ork 0 c ncurses

假设有一个 ncurses pad。

1.) 我可以创建pad 的子窗口吗?理论上,subwin 会与 pad 共享内存。但是当我调用这个子窗口时会发生什么wrefresh

2.) 我可以创建pad 的子 pad吗?wrefresh如果是,拨打电话或prefresh在副台上有意义吗?

我目前的理解是,必须为 pad 创建一个 subpad。传递给subpad函数的坐标指定(父)焊盘的位置。返回的子板在概念上是一个窗口(不能大于其父结构),尽管它必须使用该prefresh函数放置到屏幕上。它与父垫共享内存。正确的?

Tho*_*key 5

护垫不是普通的窗户;您不能在垫内制作窗口。

ncurses 库进行这些与问题相关的检查:

  • 在 中subpad,它检查以确保父级是pad,然后调用derwin以完成其余工作。如果父级不是padsubpad则返回错误。
  • subwin使用derwin,这确保如果父级是pad,则结果是 pad 。无论哪种方式,结果都与父级的类型相同。

pad 并不完全与窗口“共享”内存;而是与窗口共享内存。这只是将坐标转换到窗口的一种便捷方法。