编译:
mysea@mysea-desktop:~/test$ gcc -lncursesw -std=c99 -o cursestest cursestest.c
mysea@mysea-desktop:~/test$ ./cursestest
代码:
#include <ncursesw/ncurses.h>
#include <locale.h>
int main(void){
//init_pair(short index,short foreground,short background)初始化颜色索引
//attron(COLOR_PAIR(索引号)|属性)
//newwin建立窗口,derwin建立窗口的子窗口(相对于父窗口相对位置),subwin建立窗口的子窗口(相对于根窗口绝对位置)
setlocale(LC_ALL,"");
WINDOW *win1,*win2,*subwin;
initscr();//初始化
win1=newwin(15,50,1,1);//新窗口(行,列,begin_y,begin_x)
box(win1,ACS_VLINE,ACS_HLINE);
mvwprintw(win1,1,1,"WIN1");
mvwprintw(win1,2,1,"www.deepfuturesoft.info/myblog/");
win2=newwin(10,40,10,30);//新窗口(行,列,begin_y,begin_x)
box(win2,ACS_VLINE,ACS_HLINE);
mvwprintw(win2,1,1,"WIN2");
mvwprintw(win2,2,1,"www.deepfuturesoft.info/myblog/");
subwin=derwin(win2,3,20,3,5); //子窗口
box(subwin,ACS_VLINE,ACS_HLINE);
mvwprintw(subwin,1,5,"按任意键退出");//(窗口,y,x,字符串)
refresh();//刷新整个大窗口stdscr
wrefresh(win1);
wrefresh(win2);
touchwin(win1);//转换当前窗口为win1
wrefresh(win1);
getch();//win1显示完,等待按键显示win2
touchwin(win2);//转换当前窗口为win2
//使用doupdate,可以事先定义要刷新的部分,然后刷新
wnoutrefresh(win2);
wnoutrefresh(subwin);
doupdate();
getch();//等待按键
delwin(win1);
delwin(subwin);
delwin(win2);
endwin();//结束
return 0;
}
分享到:
相关推荐
### Linux命令行终端图形界面编程库curses介绍 #### 一、概述 curses是一个功能强大的函数库,广泛应用于Linux/Unix系统中的图形界面开发。它允许开发者在文本模式下的终端环境中创建图形用户界面(GUI),使原本...
`curses`是一个用于创建基于终端的交互式应用程序的库,它在Unix和类Unix系统(如Linux和macOS)上广泛使用。`curses`库提供了一系列函数,使得程序员可以方便地管理屏幕输出,处理键盘输入,并在全屏应用程序中创建...
curses是一个用于创建基于文本的用户界面的库,它在Linux和类UNIX环境中非常流行。curses的重要性在于它提供了一个介于简单的基于行的程序和复杂的图形界面(如GTK/GNOME或QT/KDE)之间的解决方案。随着图形用户界面...
在Linux C环境下的图形界面编程,我们通常会利用到curses库,这是一个强大的文本界面库,主要用于创建控制台应用程序中的动态、交互式图形用户界面。curses提供了多种功能,包括屏幕更新、窗口管理、键盘输入处理等...
- 介绍Linux下的虚拟终端和图形终端的区别。 - 分析终端模拟器的工作原理。 - 提供终端定制和管理的技巧。 6. **第6章:Managing Text-Based Screens with curses(使用curses管理文本界面)** - 介绍curses库...
在命令行中,这样的程序通常会更高效,因为它可以直接与终端进行交互,而不需要依赖图形窗口系统的支持。 描述中的重复内容可能是因为输入错误,但基本思想是程序能在Linux的命令行界面下运行,并且能够正确地显示...
- `curses`库是用于处理文本终端用户界面的一个库,它允许程序在没有图形化窗口的情况下创建交互式用户界面。`curses.c`和`curses.h`可能包含了使用ncurses库实现游戏界面的代码,ncurses是一个增强版的curses库,...
Java Curses Library,简称为JCurses,是一款专为Java开发者设计的开源库,它使得在Windows和Linux等操作系统上创建和管理基于文本终端的应用程序变得可能。JCurses库的出现填补了Java在控制台应用程序开发领域的...
在Curses库中,屏幕被视为一个可以分割成多个子窗口的虚拟窗口系统。开发者可以通过创建、移动和更新这些窗口来构建复杂的用户界面。例如,你可以创建主窗口并在其中嵌套子窗口,每个窗口都可以独立处理输入和显示。...
Curses库本身是一个用于控制文本模式终端的低级库,它允许开发者在没有图形用户界面的情况下创建交互式应用程序。Curses++通过提供一组C++类来简化这一过程,使开发者可以使用更加现代和直观的C++语法来实现终端交互...
8.22 [N]Curses函数概述 306 第9章 I/O端口编程 307 9.1 鼠标编程 307 9.2 调制解调器编程 308 9.3 打印机编程 308 9.4 游戏杆编程 308 第10章 把应用程序移植到Linux上 309 10.1 介绍 309 10.2 信号处理 309 10.2.1...
linux内核编程 目 录 雷蒙序 简介 Linux文档工程小组“公告” 译者序 第一部分 Linux内核 前言 第1章 硬件基础与软件基础 6 1.1 硬件基础 6 1.1.1 CPU 7 1.1.2 存储器 8 1.1.3 总线 8 1.1.4 控制器和外设 8 ...
6.6 子窗口 191 6.7 keypad模式 193 6.8 彩色显示 195 6.9 pad 198 6.10 cd唱片应用程序 200 6.10.1 新cd唱片应用程序的开始部分 200 6.10.2 main函数 202 6.10.3 建立菜单 203 6.10.4 操作数据库文件 204 ...
本书对Linux操作系统及其编程作了整体的介绍,以支持用于开发软件的公开源码模型。对内存管理、进程及其通信机制、PCI、内核模块编程及内核系统结构作了详细的解释,且附有很多程序代码实例。对深入研究Linux下的...
6.6 子窗口 191 6.7 keypad模式 193 6.8 彩色显示 195 6.9 pad 198 6.10 cd唱片应用程序 200 6.10.1 新cd唱片应用程序的开始部分 200 6.10.2 main函数 202 6.10.3 建立菜单 203 6.10.4 操作数据库文件 204 ...
- **子窗口**: 支持在主窗口内创建子窗口,便于构建复杂的界面布局。 - **面板**: 提供面板功能,可以轻松实现窗口之间的重叠和层级管理。 - **颜色配对**: 可以定义不同的颜色组合,通过`init_pair()`和`attron()`...
8.22 [N]Curses函数概述 306 第9章 I/O端口编程 307 9.1 鼠标编程 307 9.2 调制解调器编程 308 9.3 打印机编程 308 9.4 游戏杆编程 308 第10章 把应用程序移植到Linux上 309 10.1 介绍 309 10.2 信号处理 309 10.2.1...
非常全的 讲linux编程的经典书籍。 本书对Linux操作系统及其编程作了整体的介绍,以支持用于开发软件的公开源码模型。对内存管理、进程及其通信机制、PCI、内核模块编程及内核系统结构作了详细的解释,且附有很多...