没有合适的资源?快使用搜索试试~ 我知道了~
C语言屏幕函数.doc-综合文档
需积分: 8 0 下载量 56 浏览量
2021-05-22
05:08:59
上传
评论
收藏 95KB DOC 举报
温馨提示
试读
22页
C语言屏幕函数.doc
资源详情
资源评论
资源推荐
字符屏幕函数
的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设
置、窗口文本的清除和输入输出等函数。
文本窗口的定义
默认定义的文本窗口为整个屏幕共有 列或 列 行的
文本单元每个单元包括一个字符和一个属性字符即 码字符属性规定
该字符的颜色和强度。
可以定义屏幕上的一个矩形域作为窗口使用 函数定
义。窗口定义之后用有关窗口的输入输出函数就可以只在此窗口内进行操作
而不超出窗口的边界。
函数的调用格式为
!"#$
该函数的原型在 %"中 关于文本窗口的所有函数其头文件均为
%"后面不再说明。 函数中形式参数 是窗口左上角的
坐标!"#是窗口的右下角坐标其中 和
!"#是相对于整个屏幕而言的。 规定整个屏幕的左
上角坐标为右下角坐标为。并规定沿水平方向为 & 轴方向朝
右$沿垂直方向为 ' 轴方向朝下。若 函数中的坐标超过了屏幕坐标
的界限则窗口的定义就失去了意义也就是说定义将不起作用但程序编译链
接时并不出错。另外一个屏幕可以定义多个窗口但现行窗口只能有一个因
为 () 为单任务操作系统当需要用另一窗口时可将定义该窗口的
函数再调用一
次此时该窗口便成为现行窗口了。
如要定义一个窗口左上角在屏幕处大小为 * 列 行的窗口可写成
$
文本窗口颜色的设置
文本窗口颜色的设置包括背景颜色的设置和字符颜色的设置使用的函数及
其调用格式为
设置背景颜色+,%-!%$
设置字符颜色+%%$
有关颜色的定义见表 。
表 有关颜色的定义
...........................
符号常数 数值 含义 字符或背景
///////////////////////////
012黑 两者均可
0134兰 两者均可
56447绿 两者均可
'7*青 两者均可
64(红 两者均可
8547洋红 两者均可
06)97:棕 两者均可
15;56'<淡灰 两者均可
(6256'深灰 只用于字符
15;0134=淡兰 只用于字符
15;56447淡绿 只用于字符
15;'7淡青 只用于字符
15;64(淡红 只用于字符
15;8547*淡洋红 只用于字符
'411)9黄 只用于字符
9;4白 只用于字符
0172闪烁 只用于字符
...........................
上表中的符号常数与相应的数值等价二者可以互换。例如设定兰色背景可
以使用 +,%-!也可以使用 +,%-!0134两者没
有任何区别只不过后者比较容易记忆一看就知道是兰色。
另外还提供了一个函数可以同时设置文本的字符和背景颜色这
个函数的调用格式为
+,,$
其中, 的值表示颜色形式编码的信息每一位代表的含义如下
位 <:*
0%%%%
>?...@A/////B
闪烁 背景颜色 字符颜色
字节低四位 %%%% 设置字符颜色 到 C: 三位 设置背景颜色 到
<第 < 位 0 设置字符是否闪烁。假如要设置一个兰底黄字定义方法如下
+,'411)9D0134EE$
若再要求字符闪烁则定义变为
+,D'411)9D0134EE$
注意
对于背景只有 到 <共八种颜色若取大于 <小于 的数则代表的
颜色与减 < 后的值对应的颜色相同。
用 +,%-!和 +%函数设置了窗口的背景与字符颜
色后在没有用 %F%函数清除窗口之前颜色不会改变直到使用了函数
%F%整个窗口和随后输出到窗口中的文本字符才会变成新颜色。
*用 +,函数时背景颜色应左移 位才能使 * 位背景颜色移到正
确位置。
下面这个程序使用了关于窗口大小的定义、颜色的设置等函数在一个屏幕
上不同位置定义了 < 个窗口其背景色分别使用了 < 种不同的颜色。
例
G%EF"H
G%E%"H
#,
I
$
+,%-!$JK设置屏幕背景色 KJ
%F%$JK清除文本屏幕 KJ
L$E$DD
I
DKD*DKD$JK定义文本窗口 KJ
+,%-!$JK定义窗口背景色 KJ
%F%$JK清除窗口 KJ
M
!%"$
M
*窗口内文本的输入输出函数
一、窗口内文本的输出函数
% NE格式化字符串HNE变量表H$
% F%",KF!$
%"%"$
% 函数输出一个格式化的字符串或数值到窗口中。它与 函数
的用法完全一样区别在于 % 函数的输出受窗口限制而 函数的
输出为整个屏幕。
% F函数输出一个字符串到屏幕上它与 F函数用法完全一样只是
受窗口大小的限制。
%"函数输出一个字符到窗口内。
注意
使用以上几种函数当输出超出窗口的右边界时会自动转到下一行的开
始处继续输出。当窗口内填满内容仍没有结束输出时窗口屏幕将会自动逐行
上卷直到输出结束为止。
二、窗口内文本的输入函数
!%"$
该函数在前面已经讲过需要说明的是!%"函数从键盘上获得一个字
符在屏幕上显示的时候如果字符超过了窗口右边界则会被自动转移到下一
行的开始位置。
下面这个程序给例 中加入了一些文本的输出函数。
例
G%EF"H
G%E%"H
#,
I
$
%",K%OPLIN012NN0134NN56447NN'7NN64(N
N8547NN06)97NN15;56'NM$
+,%-!$JK设置屏幕背景色 KJ
%F%$JK清除文本屏幕 KJ
L$E$DD
I
DKD*DKD$JK定义文本窗口 KJ
+,%-!$JK定义窗口背景色 KJ
%F%$JK清除窗口 KJ
M
!%"$
$
M
有关屏幕操作的函数
%F%$清除当前窗口中的文本内容并把光标定位在窗口
的左上角处。
%$清除当前窗口中从光标位置到行尾的所有字符光
标位置不变。
!+Q+Q$该函数很有用它用来定位光标在当前窗口中的位
置。这里 +Q 是指光标要定位处的坐标相对于窗口
而言当 +Q 超出了窗口的大小时该函数就不起
作用了。
!++Q+QKR$
++Q+QKR$
!+函数是将屏幕上指定的矩形区域内文本内容存入 R指针指向
的一个内存空间。内存的大小用下式计算
所用字节大小L行数K列数K
其中
行数LQSQD列数L+S+D
+函数则是将 !+函数存入内存 R 中的文字内容拷贝到
屏幕上指定的位置。
#+++Q+*Q*$
#+函数将屏幕上左上角为+Q右下角为+Q的一矩形窗
口内的文本内容拷贝到左上角为+*Q*的新的位置。该函数的坐标也是相对
于整个屏幕而言的。
注意
!+函数和 +函数中的坐标是对整个屏幕而言的即是屏幕
的绝对坐标而不是相对窗口的坐标。
#+函数是拷贝而不是移动窗口区域内容即使用该函数后原位
置区域的文本内容仍然存在。
例 *
%E%"H
#,
I
$
%",KOPLIN1,T*NNU%-ST*NN7N
N,TNN9NN(%QN
N",!NN)FF"NNVS&NM$
%",O=KKP$
%F%$
+%'411)9$
+,%-!0134$
剩余21页未读,继续阅读
weixin_38699492
- 粉丝: 7
- 资源: 946
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0