使用 curses 来控制光标

此部分说明了 curses 库中存在的不同类型的光标。

以下类型的光标存在于 curses 库中:
逻辑光标
每个窗口中的光标位置。 窗口数据结构跟踪其逻辑光标的位置。 每个窗口均有一个逻辑光标。
物理光标
显示器光标。 工作站使用该光标写到显示器。 每个显示器只有一个物理光标。
仅可在窗口中逻辑光标所在的位置添加或擦除字符。 提供以下子例程控制光标:
getbegyx
将窗口的起始坐标置于整数变量 yx
getmaxyx
将窗口大小置于整数变量 yx
getsyx
返回虚屏光标的当前坐标
getyx
返回与指定窗口关联的逻辑光标的位置
闰 (leaveok)
调用 wrefresh 子例程后控制物理光标布局
移动
移动与 stdscr 相关的逻辑光标
mvcur
移动物理光标
setsyx
将虚屏光标设为指定坐标
移动
移动与用户定义的窗口相关的逻辑光标

调用 refreshwrefresh 子例程后,curses 将物理光标置于窗口中最后更新的字符位置处。 要想使物理光标位置保持不变并在刷新后不移动它,请调用 leaveok 子例程,该子例程的 Window 参数设为期望窗口,而且 Flag 参数设为 TRUE