- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这就是控制台窗口,与传统的
这就是控制台窗口,与传统的 DOS屏幕窗口相比最主要的区别有:
控制台窗口界面编程控制
摘要:
文本界面的控制台应用程序开发是深入学习 C++掌握交互系统的实现方法的最简单的
一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数, 为此本系列文章从一般控制步骤、控制台窗口操作、文本 (字符)控制、滚动和移动光标、键
盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。
在众多C++开发工具中,由于 Microsoft本身的独特优势,选用 Visual C++已越来越 被众多学习者所接受。显然,现今如果还再把 TC作为开发环境的话,不仅没有必要,而且
也不利于向 Windows应用程序开发的过渡。然而, Visual C++的C+传用库却没有 TC所支
持的文本屏幕(控制台窗口)控制函数(相应的头文件是 conio.h)。这必然给C++学习者在文 本界面设计和编程上带来诸多不便。要知道,文本界面设计是一种深入学习 C++、掌握交互
系统的实现方法的最简单的一种手段,它不像 C+啲Windows图形界面应用 程序,涉及知
识过多。为此,本系列文章来讨论在 Visual C++ 6.0 开发环境中,如何编写具有美观清晰
的控制台窗口界面的 C++应用程序。
(一)概述操作
所谓控制台应用程序, 就是指那些需要与传统 DOS操作系统保持某种程序的兼容, 同时 又不需要为用户提供完善界面的程序。 简单地讲,就是指在Windows环境下运行的DOS程序。 一旦控制台应用程序在 Win dows操作系统中运行后,就会弹出一个窗口。例如下列代码:
#in clude <stdio.h>
int main (i nt argc,char *argv[])
{
printf("Hello, Console!\n");
return 0;
}
单击小型编译工具栏中的 “Build ”按钮或按F7键,系统出现一个对话框,询问是否将
此项目的工作文件夹设定源文件所在的文件夹,单击 [是]按钮,系统开始编译。 单击小型
编译工具栏中的“Execute Program”按钮或按Ctrl+F5键,运行刚才的程序。 程序运行后,
弹出下图的窗口 :
默认的控制台窗口有系统菜单和标题, 它是一个内存缓冲区窗口, 缓冲区大小取决
于Windows操作系统的分配; 而DOS屏幕是一种物理窗口, 不具有 Windows窗口特性,其大
小取决于ROM BIOS分配的内存空间。
控制台窗口的文本操作是调用低层的 Win32 APIs,而DOS屏幕的文本操作是通过
调用BIOS的16(10h)中断而实现的。
默认的控制台窗口可以接收键盘和鼠标的输入信息, 设备驱动由 Windows管理,而
DOS屏幕窗口接收鼠标时需要调用 33h中断,且鼠标设备驱动程序由自己安装。
控制台文本窗口的一般控制步骤
在Visual C++ 6.0 中,控制台窗口界面的一般编程控制步骤如下:调用 GetStdHandle
获取当前的标准输入(STDIN)和标准输出(STDOUT设备句柄。函数原型为:
HANDLE GetStdHa ndle( DWORD n StdHa ndle );
其中,nStdHandle可以是STD_INPUT_HANDL标准输入设备句柄)、 STD_OUTPUT_HAND标准输出设备句柄 )和STD_ERROR_HANDl标准错误句柄)。
需要说明的是,"句柄”是 Win dows最常用的概念。它通常用来标识 Win dows资源(如
菜单、图标、窗口等)和设备等对象。虽然可以把句柄理解为是一个指针变量类型,但它不 是对象所在的地址指针,而是作为 Win dows系统内部表的索引值来使用 的。调用相关文本
界面控制的API函数。这些函数可分为三类。一是用于控制台窗口操作的函数 (包括窗口的
缓冲区大小、窗口前景字符和背景颜色、窗口标题、大小和位置等 );二是用于控制台输入
输出的函数(包括字符属性操作函数);其他的函数并为最后一类。 调用CloseHandle()来
关闭输入输出句柄。 注意,在程序中还必须包含头文件 windows.h。下面看一个程序:
#i nclude <win dows.h>
#in clude <stdio.h>
#in clude <coni o.h>
int mai n(void)
{
HANDLE hOut;
CONSOLE_SCREEN_BUFFER_INFO bI nfo; // 存储窗口信息
COORD pos = {0, 0};
//获取标准输出设备句柄
hOut = GetStdHa ndle(STD_OUTPUT_HANDLE);
//获取窗口信息
Get
您可能关注的文档
- !定量KPI和定性KPI考核标准的制定方.docx
- (模板)胃肠减压操作流程及评分标准.docx
- “画法几何及工程制图”复习题(含答案)11548.docx
- 《大学语文》期末考试复习资料.docx
- 《等腰三角形存在性问题》导学案.docx
- 《国际贸易原理》平时作业1-4参考答案.docx
- 《计算机组装与维护》期末试题与参考答案.docx
- 《唐诗宋词三百首》三课时教学设计.docx
- 《体育与健康》慕课课程期末考试及答案.docx
- 《预防艾滋病、梅毒和乙肝母婴传播网络培训》华医网答案.docx
- 2022年评估分析报告.pdf
- [毕业设计]3层框架结构办公楼建筑工程预算书(含工程量计算及图纸)72页_secret 2.pdf
- 2024-2030年中国LED工业照明行业市场发展趋势与前景展望战略分析报告.docx
- 2022年度房屋建筑学课程设计内容心得(3篇).pdf
- 容器安装工程质量通病防治措施.pdf
- 四年级上册八单元集体备课[五篇范例].pdf
- 2024-2030年三丙烯酸明胶微球行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告.docx
- 小学说课稿(通用13篇).pdf
- 小学一年级数学每日一练.pdf
- 2024-2030年中国PET桶行业市场发展趋势与前景展望战略分析报告.docx
1亿VIP精品文档
相关文档
最近下载
- 焦虑自评量表SAS.docx VIP
- 短视频编辑与制作PPT课件(共7单元)第二章短视频前期策划.pptx VIP
- 2019《钢筋焊接及验收规程》JGJ18-2012.pdf
- 中征应收账款融资服务平台用户操作手册v11.pdf
- 厦门大学网络教育管理学原理在线测试题库.docx VIP
- 销售人员必备河南省许昌市魏都区医疗机构分布明细.doc VIP
- 第九课 全面推进依法治国的基本要求 课件-2024届高考政治一轮复习统编版必修三政治与法治.pptx
- 《GBT50093-2013自动化仪表工程施工及质量验收规范》题库(650道).docx
- 7.1脸谱的产生与发展.pdf
- 三米阳光优质护理服务ppt课件.pptx
文档评论(0)