getyx()和move()。getyx()函数其实是一个定义在
ncurses.h 中的宏,它会给出当前光标的位置,需要注意的是我们不能用指针作为参数,只
能传递一对整型变量(前文提到过)。函数move()将光标移动到指定位置
调用attron()函数开始启动文字修饰,当找到“*/”(注释结束处标志)的地方,就会调用attroff()函数停止为后续文字继续添加修饰。
A_NORMAL 普通字符输出(不加亮显示)
A_STANDOUT 终端字符最亮
A_UNDERLINE 下划线
A_REVERSE 字符反白显示
A_BLINK 闪动显示
A_DIM 半亮显示
A_BOLD 加亮加粗
A_PROTECT 保护模式
A_INVIS 空白显示模式
A_ALTCHARSET 字符交替
A_CHARTEXT 字符掩盖
COLOR_PAIR(n) 前景、背景色设置
在两种修饰属性间加一个“|”字符:
attron(A_BOLD | A_BLINK)?
dp@dp:~/cursestest % cat 2.c
#include
#include
int main(){
//init_pair(short index,short foreground,short background)初始化颜色索引
//attron(COLOR_PAIR(索引号)|属性)
//newwin建立窗口,derwin建立窗口的子窗口(相对于父窗口相对位置),subwin建立窗口的子窗口(相对于根窗口绝对位置)
setlocale(LC_ALL,"");
char mesg[]="您的名字:"; /* 将要被打印的字符串信息*/
char name[80];
int y,x;
initscr();//初始化
mvprintw(1,1,"WIN1");
mvprintw(2,1,"您好");
mvprintw(3,1,"%s",mesg);
getyx(stdscr, y, x);
move((y+2),2);
attron(A_REVERSE);
printw("*********************");
refresh();
attroff(A_REVERSE);
getyx(stdscr, y, x);
move((y-1),1);
scanw("%s",name);
mvprintw(6,1,"%s好,很高兴认识您", name);
refresh();
endwin();//结束
return 0;
}
dp@dp:~/cursestest % gcc -lncursesw 2.c -o mytest
dp@dp:~/cursestest % ./mytest