Linux curses 总结三(窗口)
来源:互联网 发布:淘宝昵称大全霸气 编辑:程序博客网 时间:2024/05/29 06:34
- WINDOWS结构
- 创建和销毁窗口
- 通用函数
- 一个小栗子
WINDOWS结构
一个curses程序不仅仅只有一个窗口,stdscr就是curses程序的默认窗口,stdscr就是特殊的WINDOWS结构
创建和销毁窗口
通用函数
前面已经学习了对strscr的操作函数 <addch printw refresh box insch delch eras clrtobot ...>这些函数在应用于窗口是也有相类似的函数 w--->用于窗口 mv--->用于光标移动 mvw---->用于窗口的光标移动
移动和更新窗口
一个小栗子
#include<stdio.h>#include<stdlib.h>#include<curses.h>int main(){ WINDOW *new_window_ptr; WINDOW *popup_window_ptr; int x_loop; int y_loop; char a_letter = 'a'; initscr(); move(5,5); printw("%s","Testing multiple windows\n"); printw("LINES =%d",LINES); printw("COLS=%d",COLS); refresh(); sleep(2); for(y_loop =0;y_loop<LINES-1;y_loop++){ for(x_loop=0;x_loop<COLS-1;x_loop++){ // mvwaddch(stdscr,y_loop,x_loop,a_letter); addch(a_letter); a_letter++; if(a_letter>'z') a_letter ='a'; }} refresh(); sleep(2); new_window_ptr = newwin(10,20,5,5); mvwprintw(new_window_ptr,2,2,"%s","hello world"); mvwprintw(new_window_ptr,5,2,"%s","Notice how very long line wrap inside in window"); wrefresh(new_window_ptr); sleep(2);a_letter ='0'; for(y_loop =0;y_loop<LINES-1;y_loop++){ for(x_loop=0;x_loop<COLS-1;x_loop++){ mvwaddch(stdscr,y_loop,x_loop,a_letter); a_letter++; if(a_letter>'9') a_letter ='0'; }} refresh(); sleep(2); touchwin(new_window_ptr); //touchwin告诉new_window_ptr指向的窗口已经发生变化,如果不不使用这个,下面语句不能使他重新绘制 wrefresh(new_window_ptr); sleep(2);popup_window_ptr = newwin(10,20,8,8); box(popup_window_ptr,'|','-'); mvwprintw(popup_window_ptr,5,2,"%s","pop up window"); wrefresh(popup_window_ptr); wrefresh(new_window_ptr); sleep(2); touchwin(new_window_ptr); wrefresh(new_window_ptr); sleep(2); wclear(new_window_ptr); wrefresh(new_window_ptr); sleep(2); delwin(new_window_ptr); touchwin(popup_window_ptr); wrefresh(popup_window_ptr); sleep(2);delwin(popup_window_ptr); touchwin(stdscr); refresh(); sleep(2); endwin(); exit(EXIT_SUCCESS);}
0 0
- Linux curses 总结三(窗口)
- Linux curses 总结三(对键盘的操作)
- Linux curses 总结一
- linux curses 管理多窗口
- Linux curses 总结二(对屏幕的操作)
- Linux curses库(ubuntu)
- Unix/Linux下的Curses库开发指南——第三章curses库窗口
- linux curses库下子窗口实现行选择的功能
- 学习curses图形库(三)
- Linux程序设计(搭建开发环境--curses)
- Linux程序设计(curses使用示例)
- curses库(LINUX/UNIX图形函数库)
- 利用curses来创建窗口
- Linux curses库
- Linux curses库使用
- linux中curses
- Linux中的curses编程
- linux curses举例
- 【ELK初探】-Centos6.7下搭建篇
- FX2LP cy7c68013——Slave FIFO 与FPGA通信
- hibernate配置C3P0详解
- 简单的购物车
- Java学习笔记(84)----------关于 Java 对象序列化你不知道的 5 件事
- Linux curses 总结三(窗口)
- 重写cell的宽度
- 微软COM中GUID和UUID、CLSID、IID
- 修改返回键(导航栏)
- 全国第二届Revit开发实战训练营在北京圆满落幕
- Deepin 安装nodejs
- Java学习笔记(85)-----------用医生的思考方式调试你的代码
- Android一步一步带你实现RecyclerView的拖拽和侧滑删除功能
- ubuntu 12.04+opencv2.4.2 安装及测试