网站运营
位置:首页>> 网站运营>> 在UNIX下如何用C语言保存和恢复屏幕(5)

在UNIX下如何用C语言保存和恢复屏幕(5)

 来源:asp之家 发布时间:2010-05-20 18:24:00 

标签:unix,c语言,屏幕

■ 视窗内的座标系

视窗内的座标系, 将以此视窗的起始点为新原点, 并以其相对位置作为新的
座标. 举例来说

win=newwin(10,20,5,5);
wmove(win,2,3);

将以 (5,5) 为新原点, y 方向移动 2 单位, x 方向移动 3 单位. 因此实际
上, 游标将移动至 y=7 x=8 的位置上.


■ POP-UP 视窗的建立

利用 curses 所提供的视窗处理函式, 我们可以做出像 ONLINE HELP 的 POP
-UP 画面. 当按下某键後, 一个新的视窗将像 " 跳 " 出来一般覆盖原来的画
面. 当关掉此视窗後, 又不会影响到原来被覆盖的画面.


下面的例子, 我们及模拟 ONLINE HELP 的形式, 当按下 'h' 键时, 视窗即出现


#include <curses.h>

main()
{
int ch,x,y;
WINDOW *win;

initscr(); ←┐
cbreak; │ 启动 curses 模式
noecho(); │
nonl(); ←┘

win=newwin(4,30,LINES/2-3, COLS/2-15);/* 建立一个新视窗, 其中LINES,COLS
*/
box(win,'|','-'); /* 为 curses 内定值,即萤幕行/列数*/
mvwaddstr(win,1,4,"This is another screen");
mvwaddstr(win,2,2,"Press anykey to continue..");

for (y=0;y<LINES;++y) /* 以'@'填满萤幕 */
for (x=0;x<COLS;++x)
mvprintw(y,x,"@");

for(;;) {
refresh();
ch=getch();
switch(ch) {
case 'q': /* 按 'q' 键离开 */
endwin();
exit(0);

case '\t': /* 按 [TAB] 键 呼叫另一视窗 */
touchwin(win); /* wrefresh() 前需 touchwin() */
wrefresh(win);
getch(); /* 按任意键关闭视窗 */
touchwin(stdscr);
break;

default:break;
}
}
}


执行结果:

┌————————————————————————————┐
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
└————————————————————————————┘
↑ 原来画面被 '@' 填满, 按下[TAB]键後
↓ 出现 POP-UP 画面.
┌————————————————————————————┐
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@□---------------------------+@@@@@@@@@@@ │
│ @@@@@@@@@@@@@| This is another screen |@@@@@@@@@@@ │
│ @@@@@@@@@@@@@| Press anykey to continue.. |@@@@@@@@@@@ │
│ @@@@@@@@@@@@@□---------------------------+@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ │
└————————————————————————————┘

0
投稿

猜你喜欢

  • 大家可以看首页下面的图文混排栏目块,全部是用的固定栏目,也就是先做出模板,每个栏目都是固定的,无法循环生成.这样就有个问题,标签是不是要一个
  • 网络的迅速发展使宽带走入寻常百姓家,广大网络爱好者也勇于尝试,在自己的爱机上建设自己的网站, 那么选择什么系统呢?Win 2000漏洞百出,
  • 随着网络的发展和各种信息媒体的诞生,人们进行信息交流的方式和途径也越来越多,但是,由于现今的各种通信费用一直居高不下,且人们的生活节奏日趋加
  • 事实上DNS不仅仅是用来解释地址用的而且还可以回答更多关於网路和主机的其它信息其中很重要的一个功能就是可以供邮件系统进行路由。这些资料通常会
  • 标题中的四个关键词,对于做网站做博客的人来说,再也熟悉不过了。这四个关键词牵动着利益和道德的问题,利益和道德从来都是一对难以调和的矛盾,但要
  • 远程网络连接在企业的信息化应用中是一门比较实用的技术。他可以通过各种方式实现,如VPN、远程控制工具等等。不过,远程桌面Web连接也是其中的
  • 不管你把Alexa排名奉为神明,还是把它看得 * 无比,数年来,它的确左右着整个互联网行业的许多游戏规则。由于中国互联网的特殊环境,Alexa
  • 我也把我的方法做了一下实验,使用serv-u做的,有一点错误,不过终归做了出来,下面总结一下:PASV服务器放在ISA后面,其实就是要解决两
  • 良好的内链通过增加内链提高搜索引擎排名。例如,写一篇有价值的文章,在其中的关键词上标注一个指向你的网站的链接可以促进网站排名。简洁明了的标题
  • 为了更好的实现用户在社区论坛的互动功能,官方开发团队在Discuz! 7.1版本引入了漫游应用插件机制,丰富了社区论坛系统互动应用效果。伴随
  • 1、先修改member\do.php      line:3  &nb
  • 作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前Internet上运行的主机有相当一部分采用的就是Linux,而且
  • 现在做行业网站推广的朋友们都不会忘了软文推广,发在各站长站。的确,这是会带来不少的流量,只是我很难想到这些流量最终沉淀下来,甚至进一步成为注
  • 如何放置Robots.txt文件robots.txt自身是一个文本文件。它必须位于域名的根目录中并 被命名为&ldquo;robot
  • 开始我也不知道什么是网站地图,有人问我,把我问的一楞一楞的,主要是不理解呀。后来我在网上找,查询看看到底是什么意思?他的意思解释如下:什么是
  • 1.前言:木马的危害,在于它能够远程控制你的电脑。当你成为“肉鸡”的时候,别人(控制端)就可以进入你的电脑,偷看你的文件、盗窃密码、甚至用你
  • 核心功能和服务IIS 6.0 引入了两种用于配置应用程序环境的操作模式:工作进程隔离模式和 IIS 5.0 隔离模式。在安装 IIS 6.0
  • SEM工作到底有技术含量么?做这个东西也算有一段时间了,和不少朋友聊过这个话题,有的朋友把SEM工作专业性侃的神乎其实,也有的朋友把SEM专
  • 链接建设是指在搜索引擎优化战略中,一种让其他网站链接到自己网站上的一种优化方式。通过产生相关的和权威的网站链接到自己的网站上。除了会提升你的
  • 二、工作环境本文假设用户希望在企业网环境中创建一个电子邮件服务器,为本企业用户提供邮件服务。该服务器拥有一个合法的IP地址202.99.11
手机版 网站运营 asp之家 www.aspxhome.com