|
©整理一下, 不然又有人吐血©
à编译参数:
使用 –l curses 参数
àinitscr();
开启curses 模式
àendwin();
关闭curses 模式
àcbreak();nocbreak();
cbreak:除Delete和BackSpace外的字符直接读取其代码;
nocbreak:输入到Buffer直到’/n’字符.
ànl();nonl();
决定是否在输入输出中遇’/n’作换行.
àecho();noecho();
决定是否回显键入的字符.
àintrflush(WINDOW *,[TRUE|FALSE])
bf为TRUE时,对输入的中断字符如”break”作快速响应,但屏幕可能混乱.
àkeypad(WINDOW *,[TRUE|FALSE])
是否启用curses自带的字符映对.自带keypad映像定义如下:
KEY_UP KEY_DOWN KEY_LEFT
KEY_RIGHT KEY_HOME KEY_BACKSPACE KEY_F0 KEY_F(n) KEY_NPAGE KEY_PPAGE ESC:27
àrefresh();
刷新屏幕.
àmove(y,x),getyx(win,y,x)//不是&y,&x
移动或读取光标位置.
àclear();erase() [+refresh()]
清屏
àechochar(ch);addch(ch);mvaddch(y,x,ch); addstr(str);mvaddstr(int y,int x,char *str); prinfw(Format,str);mvprintw(y,x,format,str);
各种输出函数.(chtype ch)
àint getch();char *getstr();
int scanw(format,&arg1,…);各种输入函数
àattron(ATTR);attroff(ATTR);attrset(ATTR);
A_UNDERLINE A_REVERSE A_BLINK A_BOLD A_NORMAL(只用于attrset)
开启/关闭/设定以后输出字符属性.
àbeep();box(WINDOW *,int vch,int hch);
àWINDOW *newwin(Rows,Cols,stary,starx)
开新窗口.
àtouchwin(WINDOW *);
选择将要操作的指定窗口.
àwmove(WINDOW *,int y,int x)
àwrefresh(WINDOW *)
àmvwaddstr(win,y,x,str);
àwprintw(win,Format[,arg1,…]);
à[wattron |watttoff |wattrset] (win,int ATTR);
àdelwin(WINDOW *);
àsubwin(WINDOW *,ny,nx,y,x);
àscrollok(WINDOW *,[TRUE|FALSE]);
开启或关闭窗口的滚动模式.
àidlok(win,[TRUE|FALSE]);
àidcok(win,[TRUE|FALSE]);
àstart_color();has_colors();
àinit_pair(const short pair,short fc,short bc);
设定一个pair的前后景色.c预定如下:
COLOR_BLACK COLOR_RED COLOR_GREEN COLOR_YELLOW COLOR_BLUE COLOR_MAGENTA COLOR_CYAN COLOR_WHITE
àwattrset(WINDOW *,attr_t attr);
设定win的模式为attr.
àwattr_set(WINDOW*,attr_t,pair,void *);
设定win的attr和pair.
àchtype Cch=chAscii | COLOR_PAIR(pair)
设定字符的color_pair为pair .
àraw(); && meta(WINDOW *,TRUE);
开启原始模式(可读取Delete和BackSpace.) |
|