3 curses库窗口(WINDOW)处理

本文介绍了curses库中的窗口概念,包括窗口作为屏幕区域的定义、窗口的创建与删除、输入输出操作、刷新及属性调整。通过学习,读者将掌握如何在curses库中管理窗口。
摘要由CSDN通过智能技术生成

3 curses库窗口(WINDOW)处理

~~~~~~~~~~~~~~~~~~~~~~~~~~~


3.1 什么是窗口

===============

* 窗口是屏幕上的一块区域,在其上面可以进行各种输出及其操作.

* 窗口可以位于标准屏幕的任意位置,窗口之间可以相互重叠.

* 窗口可以同时包含与它们相关的子窗口,任何在父窗口与子窗口重叠区域的变化会同时影响到他们中的任何一个


3.2 窗口操作

=============


3.2.1 创建和删除窗口

---------------------

/**
 @brief 创建窗口并返回WINDOW指针
 @param lines 需要创建窗口所占的总行数
 @param cols  需要创建窗口所占的总列数
 @param begin_x 窗口左上角所在的行数(x坐标)
 @param begin_y 窗口左上角所在的列数(y坐标)
 @return 返回WINDOW类型的指针,如果创建失败,函数返回NULL
 @note 如果lines或者cols为0,函数自动创建一个行数和列数分别为LINES和COLS的窗口.
       所创建窗口的大小不能超过实际屏幕的大小,如果超过了,则返回失败.
       对于不再使用的窗口有必要及时清屏,可以使用werase()和wclear()实现.
       不管werase()还是wclear()都不能清除内存空间,需要调用delwin()释放内存.
  */
 WINDOW* newwin(int lines,int cols,int begin_x,int begin_y);
 /**
 @brief 删除窗口
 @param win 待删除窗口的指针
 @note 在主窗口删除之前必须先删除与它相关连的所有子窗口
  */
 int delwin(WINDOW* win);
 /**
 @breif 创建子窗口
 @param win 父窗口的指针
 @param lines,cols 子窗口的总行数和列数
 @param begin_x,begin_y 子窗口的左上角在标准屏幕的相对位置
 @note 注意相对位置是想对于*标准屏幕*的,而不是父窗口的!!
  */
 WINDOW* subwin(WINDOW* win,int lines,int cols,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值