⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 042.htm

📁 一个好的讲DSP中C语言编程的电子书
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>王大刚-->C语言编程宝典-->字符屏幕函数</TITLE>
<META NAME="keywords" CONTENT="王大刚 C语言编程宝典 字符屏幕函数">
<META NAME="description" CONTENT="王大刚 - C语言编程宝典 - 字符屏幕函数">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#e0e0e0"><strong><A HREF="index.html">后一页</A><BR>
<A HREF="041.htm">前一页</A><BR>

<A HREF="index.html">回目录</A><BR>
<A HREF="../../../../index.htm">回首页</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">字符屏幕函数</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<BR>
<P>&nbsp;&nbsp;&nbsp; Turbo C2.0的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、
<BR>窗口文本的清除和输入输出等函数。
<BR>
<P>&nbsp;&nbsp;&nbsp; 1.文本窗口的定义
<BR>&nbsp;&nbsp;&nbsp; Turbo C2.0默认定义的文本窗口为整个屏幕, 共有80列(或40列)25行的文本
<BR>单元, 每个单元包括一个字符和一个属性, 字符即ASCII 码字符, 属性规定该字
<BR>符的颜色和强度。
<BR>&nbsp;&nbsp;&nbsp; Turbo C2.0可以定义屏幕上的一个矩形域作为窗口, 使用window()函数定义。
<BR>窗口定义之后, 用有关窗口的输入输出函数就可以只在此窗口内进行操作而不超
<BR>出窗口的边界。
<BR>&nbsp;&nbsp;&nbsp; window()函数的调用格式为:
<BR>&nbsp;&nbsp;&nbsp;&nbsp; void window(int left, int top, int right,
int bottom);
<BR>&nbsp;&nbsp;&nbsp; 该函数的原型在conio.h 中 (关于文本窗口的所有函数其头文件均为conio.h,
<BR>后面不再说明)。 函数中形式参数(int left,&nbsp; int top)是窗口左上角的坐标,
<BR>(int right, int&nbsp; bottom)是窗口的右下角坐标, 其中(left,&nbsp; top)和(right,
<BR>bottom) 是相对于整个屏幕而言的。 Turbo C 2.0规定整个屏幕的左上角坐标为
<BR>(1, 1), 右下角坐标为(80, 25)。并规定沿水平方向为 X轴, 方向朝右; 沿垂直
<BR>方向为 Y轴, 方向朝下。若window()函数中的坐标超过了屏幕坐标的界限, 则窗
<BR>口的定义就失去了意义, 也就是说定义将不起作用, 但程序编译链接时并不出错。
<BR>&nbsp;&nbsp;&nbsp; 另外, 一个屏幕可以定义多个窗口, 但现行窗口只能有一个(因为DOS为单任
<BR>务操作系统), 当需要用另一窗口时, 可将定义该窗口的window() 函数再调用一
<BR>次, 此时该窗口便成为现行窗口了。
<BR>&nbsp;&nbsp;&nbsp; 如要定义一个窗口左上角在屏幕(20, 5)处, 大小为30列15行的窗口可写成:
<BR>&nbsp;&nbsp;&nbsp;&nbsp; window(20, 5, 50, 25);
<BR>
<P>&nbsp;&nbsp;&nbsp; 2. 文本窗口颜色的设置
<BR>&nbsp;&nbsp;&nbsp; 文本窗口颜色的设置包括背景颜色的设置和字符颜色的设置,
使用的函数及
<BR>其调用格式为:
<BR>&nbsp;&nbsp;&nbsp; 设置背景颜色:&nbsp; void textbackground(int color);
<BR>&nbsp;&nbsp;&nbsp; 设置字符颜色:&nbsp; void textcolor(int color);
<BR>&nbsp;&nbsp;&nbsp; 有关颜色的定义见表1。
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
表1. 有关颜色的定义
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━
<BR>&nbsp; 符号常数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
含义&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符或背景
<BR>───────────────────────────
<BR>&nbsp; BLACK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 黑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; BLUE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 兰&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; GREEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 绿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; CYAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 青&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; RED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 红&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; MAGENTA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 洋红&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; BROWN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 棕&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
两者均可
<BR>&nbsp; LIGHTGRAY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
淡灰&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两者均可
<BR>&nbsp; DARKGRAY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 深灰&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
只用于字符
<BR>&nbsp; LIGHTBLUE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
淡兰&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只用于字符
<BR>&nbsp; LIGHTGREEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
淡绿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只用于字符
<BR>&nbsp; LIGHTCYAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
淡青&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只用于字符
<BR>&nbsp; LIGHTRED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 淡红&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
只用于字符
<BR>&nbsp; LIGHTMAGENTA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
淡洋红&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只用于字符
<BR>&nbsp; YELLOW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 黄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
只用于字符
<BR>&nbsp; WHITE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 白&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
只用于字符
<BR>&nbsp; BLINK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 闪烁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
只用于字符
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━
<BR>&nbsp;&nbsp;&nbsp; 上表中的符号常数与相应的数值等价, 二者可以互换。例如设定兰色背景可
<BR>以使用textbackground(1),&nbsp; 也可以使用textbackground(BLUE), 两者没有任何
<BR>区别, 只不过后者比较容易记忆, 一看就知道是兰色。
<BR>&nbsp;&nbsp;&nbsp; Turbo C另外还提供了一个函数, 可以同时设置文本的字符和背景颜色,
<BR>个函数的调用格式为:
<BR>&nbsp;&nbsp;&nbsp;&nbsp; void textattr(int attr);
<BR>&nbsp;&nbsp;&nbsp; 其中: attr的值表示颜色形式编码的信息, 每一位代表的含义如下:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 位&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
7&nbsp;&nbsp; 6&nbsp;&nbsp; 5&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3&nbsp;&nbsp; 2&nbsp;&nbsp; 1&nbsp;&nbsp; 0
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
B&nbsp;&nbsp; b&nbsp;&nbsp; b&nbsp;&nbsp; b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c&nbsp;&nbsp; c&nbsp;&nbsp; c&nbsp;&nbsp; c
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
↓&nbsp; ┕━━━┙&nbsp;&nbsp;&nbsp;&nbsp; ┖─────┘
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
闪烁&nbsp; 背景颜色&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符颜色
<BR>&nbsp;&nbsp;&nbsp; 字节低四位cccc设置字符颜色(0到15), 4~6三位bbb设置背景颜色(0到7),
<BR>第7位B设置字符是否闪烁。假如要设置一个兰底黄字, 定义方法如下:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textattr(YELLOW+(BLUE&lt;&lt;4));
<BR>&nbsp;&nbsp;&nbsp; 若再要求字符闪烁, 则定义变为:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textattr(128+YELLOW+(BLUE&lt;&lt;4);
<BR>&nbsp;&nbsp;&nbsp; 注意:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1) 对于背景只有0 到7 共八种颜色, 若取大于7
小于15的数, 则代表的
<BR>颜色与减 7后的值对应的颜色相同。
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2) 用textbackground()和textcolor()
函数设置了窗口的背景与字符颜
<BR>色后, 在没有用clrscr()函数清除窗口之前, 颜色不会改变,&nbsp;&nbsp; 直到使用了函数
<BR>clrscr(), 整个窗口和随后输出到窗口中的文本字符才会变成新颜色。
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (3) 用textattr()函数时背景颜色应左移4位,
才能使3位背景颜色移到正
<BR>确位置。
<BR>&nbsp;&nbsp;&nbsp; 下面这个程序使用了关于窗口大小的定义、颜色的设置等函数,
在一个屏幕
<BR>上不同位置定义了7个窗口, 其背景色分别使用了7种不同的颜色。
<BR>&nbsp;&nbsp;&nbsp; 例1.:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;stdio.h>
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;conio.h>
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; main()
<BR>&nbsp;&nbsp;&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i;
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbackground(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/* 设置屏幕背景色 */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clrscr();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/* 清除文本屏幕 */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1; i&lt;8;
i++)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
{
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口 */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
textbackground(i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 定义窗口背景色
*/
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
clrscr();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/* 清除窗口 */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -