INDDW*curscr:当前屏幕
WINDOW *stdscr:标准屏幕
int LINES:终端上的行数
int COLS:终端上的列数
bool TRUE:真标志,1
bool FALSE:假标志,0
int ERR:错误标志,-1
int OK:OK标志,0
---------------------------------------------
win:WINDOW *
bf:bool
ch:chty pe
str:char *
chstr:chty pe*
fmt:char *
否则:int
---------------------------------------------
初始化
WINDOW *initscr()
SCREEN*newterm(char *type, FILE *outfd, FILE *infd)
对用户访问的每个终端都应该调用newterm
t y p e是终端的名称,包括在$ T E R M中(如ansi, xterm, vt100等等)
SCREEN*set_term(SCREEN *new)
用户可以切换当前终端。所有的函数都将在设置的当前终端上起作用。
int endwin()
退出程序之前,关闭所有打开的窗口。
之后还可以调用refresh(),
int isendwin()
ifendwin()->refresh(),TRUE,|FALSE。
-----------------------
WINDOW *newwin(nlines,ncols,begy,begx)
begy和begx是窗口左上角的坐标。nlines是一个整数,
存放着行的数目,而ncols,存放着列的数目。
所有的参数设置为零,则打开的窗口的大小将与屏幕的大小相同。
int delwin(win)
它删除窗口win。如果存在子窗口,以前先要删除这些子窗口。这个函数将
释放win所占据的所有资源。在调用endwin()之前用户应该删除所有的窗口
int mvwin(win,by,bx)
它将把窗口移到坐标(by,bx)处。如果把窗口移出屏幕边界的范围,则ERR
WINDOW *subwin(origwin,nlines,ncols,begy,begx)
它返回一个位于origwin窗口中间的子窗口。如果用户改变这两个窗口
(origwin或者那个新窗口)中的一个,则这种改变将会同时反映到这两
个窗口上。在下一次调用refresh()之前,先要调用touchwin(origwin)
begx和begy是相对于屏幕的,而不是相对于origwin的。
WINDOW *derwin(origwin,nlines,ncols,begy,begx)
此函数与subwin(.)相同,只不过这里的begx和begy是相对于origwin的,而不是相对于屏幕的。
mvderwin(win,y,x)
此函数将把win移到父窗口内。(注意:此函数尚未实现)。
WINDOW *dupwin(win)
此函数复制窗口win。
int overlay(win1,win2)
将把win1中的所有文本拷贝到win2中,但是不拷贝空格。
int overwrite(win1,win2)
也是做文本拷贝工作的函数,但它拷贝空格。
int copywin(win1,win2,sminrow,smincol,dminrow,
dmincol,dmaxrow,dmaxcol,overlay)
它所做的工作与overlay(.)和overwrite(.)相似,但是该函数还可以让程序员选择拷贝窗口的哪个区域。
int addch(ch)
int waddch(win,ch)
int mvaddch(y,x,ch)
int mvwaddch(win,y,x,ch)
----------------
int addstr(str)
int addnstr(str,n)
int waddstr(win,str)
int waddnstr(win,str,n)
int mvaddstr(y,x,str)
int mvaddnstr(y,x,str,n)
int mvwaddstr(win,y,x,str)
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 兄弟 出来 共享 说明 函数 编程 精华 win 字符 窗口 终端 |
注册
个人空间
