第五章:窗口机制简介——(NCURSES Programming HOWTO 中文版)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

第五章:窗口机制简介在我们进入数以万计的CURSES函数以前,让我们先了解一下窗口(windows)的知识。关于窗口机制的详细信息我们会在以后的章节中详细介绍。这一章只是一些基础的知识,为了给讲解输入输出函数作铺垫。当然,在现在就树立一个窗口的概念是很有好处的。

窗口实质上是由CURSES系统定义的一个假想的屏幕。这种窗口并不像Windows平台上的窗口,这些窗口没有边框。当CURSES初始化的时候,它会默认创建一个叫做stdscr的窗口。这个窗口的大小一般是80列,25行的屏幕(根据显示器或者显卡的不同,可能会出现不同的大小)如果你运行简单的任务,比如打印几个字符串、输入一些数据等等……这样的单窗口完全可以满足你的需要。当然,你也可以通过窗口系统的函数创建你自己的窗口。

举个例子,如果你调用以下函数:

printw("Hi! There!");

refresh();

它会在stdscr上的当前光标位置输出"Hi! There!"。同样,调用refresh()函数,它只更新stdscr上的缓冲区。

例如,你已经建立了一个叫做win的窗口。你要在这个窗口上输出以上的内容。只需要在普通的函数前添加w前缀就可以了。同时,函数中的参数也要相应的变化(要指明你所要显示信息的窗口):

wprintw(win, "Hi There !!!");

wrefresh(win);

你将在这份文档的其余部分看到,这些函数有相同的命名规则。

printw(string); /* 在stdscr的当前光标位置打印字符串string */

mvprintw(y, x, string); /* 将字符串string打印在坐标(y,x)处 */

wprintw(win, string); /* 在窗口win的当前光标位置打印字符串string */

mvwprintw(win, y, x, string); /* 将光标移动到窗口win的(y,x)然后打印字符串string */

没有w前缀的函数在调用时被扩展成以stdscr作为当前窗口的函数。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航