您身边的软件定制专家--9年开发经验为您护航

18678812288
0531-88887250

C指针原理(58)-Ncurses-文本终端的图形

文章作者:济南软件开发 时间:2016年12月20日

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


想要了解更多详情欢迎来电咨询18678812288
登陆网址:www.jnydkj.cn。
联系人:王经理。