九.窗口机制
窗口(Window)机制是整个curses 系统的核心。通过前面的例子我们看到了基于“标准窗口”(stdscr)的一些操作函数。即使设计一个最简单的图形用户界面(GUI),都需要用到
窗口。你可能需要将屏幕分成几个部分并分别处理,然而,将屏幕拆分成各个窗口,然后独
立处理每个窗口是比较高效的方法。使用窗口的另外一个重要原因是:你应当始终在你的程
序中追求一种更好的、更易于管理的设计方式。如果你要设计一个大型的、复杂的用户界面,
事先设计好各个部分将会提高你的编程效率。
9.1 基本概念
一个窗口是通过调用newwin()函数建立的。但当你调用这个函数后屏幕上并不会有任何变化。因为这个函数的实际作用是给用来操作窗口的结构体分配内存,这个结构体包含了窗口
的大小、起始坐标等信息。可见,在curses 里,窗口是一个假想的概念,用来独立处理屏
幕上的各个部分。newwin()函数返回一个指向窗口结构的指针,像wprintw()等函数都需要
以窗口指针作为参数。delwin()函数可以删除一个窗口,并释放用来存储窗口结构的内存和
信息。