- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 文本的屏幕输出和键盘输入
[问题的提出] 编制一个程序,将屏幕垂直平分成两个窗口,左边窗口为蓝色背景,白色
前景,右边窗口为绿色背景,红色前景。两个窗口都设计为文本输入,即在窗口中可以输入文字,在窗口屏幕中显示出来。使用 tab 键在左右两个窗口中切换,每个窗口都有光标,活动窗口光标进行闪烁。
[分析] 在这个问题中我们遇到了在初学C 时不曾接触到的新概念,如文本窗口、前景色、背景色,以及围绕它们要解决的新问题:
如何在屏幕中开文本输入的窗口?
如何设置窗口的前景色、背景色或闪烁等显示属性?
如何通过按键来控制窗口的切换?
[解答] 要解决这一编程问题,要求有两方面的学习过程:一是对于分析中的前两个问题, 要求大家了解有关文本的屏幕输出的知识;二是对于第 3 个问题,要求对键盘的输入有所了解。下面先就这两个方面的内容做一介绍。
文本的屏幕输出
显示器的屏幕显示方式有两种:文本方式和图形方式。文本方式就是显示文本的模式,
它的显示单位是字符而不是图形方式下的象素,因而在屏幕上显示字符的位置坐标就用行和列表示。Turbo C 的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。这些函数的有关信息(如宏定义等)均包含在 conio.h 头文件中, 因此在用户程序中使用这些函数时,必须用 include 将conio.h 包含进程序。
文本窗口的定义
Turbo C 默认定义的文本窗口为整个屏幕,共有 80 列 25 行的文本单元。如图 3-1 所示, 规定整个屏幕的左上角坐标为(1,1),右下角坐标为(80,25),并规定沿水平方向为X 2
轴,方向朝右;沿垂直方向为 Y 轴,方向朝下。每个单元包括一个字符和一个属性,字符即 ASCII 码字符,属性规定该字符的颜色和强度。除了这种默认的 80 列 25 行的文本显示方式外,还可由用户通过函数:
void textmode(int newmode);
来显式地设置 Turbo C 支持的 5 种文本显示方式。该函数将清除屏幕,以整个屏幕为当前窗口,并移光标到屏幕左上角。newmode 参数的取值见表 3-1,既可以用表中指出的方式代码, 又可以用符号常量。LASTMODE 方式指上一次设置的文本显示方式,它常用于在图形方式
到文本方式的切换。
(1 列,1 行)
(80 列,25 行) 第一行
第一列第 80 列
第 25 行
图 3-1 屏幕文本显示坐标
表 3-1 文本显示方式
方式 符号常量 显示列×行数和颜色
0 BW40 40×25 黑白显示
1 C40 40×25 彩色显示
2 BW80 80×25 黑白显示
3 C80 80×25 彩色显示
7 MONO 80×25 单色显示
-1 LASTMODE 上一次的显示方式
Turbo C 也可以让用户根据自己的需要重新设定显示窗口,也就是说,通过使用窗口设置函数 window()定义屏幕上的一个矩形域作为窗口。window()函数的函数原型为: void window(int left, int top, int right, int bottom);
函数中形式参数(int left,int top)是窗口左上角的坐标,(int right,int bottom)是窗口的右下角坐标,其中(left,top)和(right,bottom)是相对于整个屏幕而言的。例如,要定 义一个窗口左上角在屏幕(20,5)处,大小为 30 列 15 行的窗口可写成:
window(20, 5, 50, 25);
若 window()函数中的坐标超过了屏幕坐标的界限,则窗口的定义就失去了意义,也就是说
定义将不起作用,但程序编译链接时并不出错。
窗口定义之后,用有关窗口的输入输出函数就可以只在此窗口内进行操作而不超出窗口的边界。
另外,一个屏幕可以定义多个窗口,但现行窗口只能有一个(因为 DOS 为单任务操作
系统)。当需要用另一窗口时,可将定义该窗口的 window()函数再调用一次, 此时该窗口便成为现行窗口了。
文本窗口颜色和其它属性的设置
文本窗口颜色的设置包括背景颜色的设置和字符颜色(既前景色)的设置,使用的函数及其原型为:
3
设置背景颜色函数:void textbackground(int color); 设置字符颜色函数:void textcolor(int color);
有关颜色的定义见表 3-2。表中的符号常数与相应的数值等价,二者可以互换。例如设定兰
色背景可以使用 textbackground(1),也可以使用 textbackground(BLUE),两者没有任何区别, 只不过后者比较容易记忆,一看就知道是兰色。
表 3-2 颜色表
符号常数 数值 含义 背景或背景BLAC
您可能关注的文档
- 高等代数教案设计(张禾瑞版).docx
- 高等教育出版社《统计学》答案_第三版.docx
- 高等教育心理学(新)(打印版).docx
- 高等教育要提高质量办出特色1129.docx
- 高等数学 第三节 条件概率.docx
- 高等数学b分析和总结.docx
- 高等数学不定积分习题.docx
- 高等数学公式大全.docx
- 高等数学极限与连续习题.docx
- 高等数学竞赛试题.docx
- 私募基金法律监管体系的困境与突破:基于实践与比较法的分析.docx
- 补肾活血方对人滑膜细胞Wnt_β - catenin信号通路的调控机制探究.docx
- 揭秘“大胡红”牡丹植株:营养状况与培育策略.docx
- 酶法制备母乳脂替代脂:工艺探索与功能解析.docx
- 内蒙古道图嘎查七星湖牧民新村禁牧政策执行与运行机制深度剖析.docx
- 呼和浩特地区老年髋部骨折流行病学特征、影响因素及康复策略研究.docx
- 化工园区环境风险分级管理与控制系统平台的深度剖析与创新实践.docx
- 集团化经营、产权性质对企业过度投资的影响机制与实证研究.docx
- 政府调控与房地产发展:政策效应、市场响应与协同发展研究.docx
- 燃煤电厂脱硝改造成本解构与补偿电价机制的深度剖析.docx
最近下载
- 海南省海口市(新版)2024小学语文人教版小升初真题(巩固卷)完整试卷(含答案).docx VIP
- 2025-2030中国医学影像设备行业深度调研及投资前景预测研究报告.docx
- 公安院校公安专业本专科招生政治考察表(2022年西藏报考公安院校公安专业招生).doc VIP
- 劳动争议管理制度.docx VIP
- 2024年秋季新北师大版七年级上册数学全册导学案.docx
- 2020-2021学年北京市朝阳区北京版四年级下册期末测试英语试卷.docx VIP
- 骨关节感染患者的护理(外科护理).pptx
- 波形护栏质量检验评定表、报告单.pdf VIP
- 大学《传感器原理及应用》习题解析及期末考试真题.docx VIP
- 基于PLC控制的泡沫切割机-毕业论文.doc VIP
文档评论(0)