- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《控制台编程二
VC++控制台窗口界面的编程控制(二)程序设计?2011-03-25 12:57:40?阅读9?评论0??字号:大中小?订阅from /onlywater/blog/item/eb9a6dcf2c58eb38f9dc612f.html?2002-09-13 09:31 作者: 丁有和 出处: yesky 责任编辑:七、滚动和移动 ScrollConsoleScreenBuffer是实现文本区滚动和移动的API函数。它可以将指定的一块文本区域移动到另一个区域,被移空的那块区域由指定字符填充。函数的原型如下:BOOL ScrollConsoleScreenBuffer( HANDLE hConsoleOutput, // 句柄 CONST SMALL_RECT* lpScrollRectangle, // 要滚动或移动的区域 CONST SMALL_RECT* lpClipRectangle, // 裁剪区域 COORD dwDestinationOrigin, // 新的位置 CONST CHAR_INFO* lpFill // 填充字符); 利用这个API函数还可以实现删除指定行的操作。下面来举一个例子,程序如下:#include?#include?#include?HANDLE hOut;void DeleteLine(int row); // 删除一行void MoveText(int x, int y, SMALL_RECT rc); // 移动文本块区域void ClearScreen(void); // 清屏void main(){ hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄 WORD att = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE ; // 背景是蓝色,文本颜色是黄色 SetConsoleTextAttribute(hOut, att); ClearScreen(); printf(\n\nThe soul selects her own society,\n); printf(Then shuts the door;\n); printf(On her devine majority;\n); printf(Obtrude no more.\n\n); CONSOLE_SCREEN_BUFFER_INFO bInfo; GetConsoleScreenBufferInfo( hOut, bInfo );? COORD endPos = {0, bInfo.dwSize.Y - 1}; SetConsoleCursorPosition(hOut, endPos); // 设置光标位置 SMALL_RECT rc = {0, 2, 40, 5}; _getch(); MoveText(10, 5, rc); _getch(); DeleteLine(5); CloseHandle(hOut); // 关闭标准输出设备句柄}void DeleteLine(int row){ SMALL_RECT rcScroll, rcClip; COORD crDest = {0, row - 1}; CHAR_INFO chFill; CONSOLE_SCREEN_BUFFER_INFO bInfo; GetConsoleScreenBufferInfo( hOut, bInfo );? rcScroll.Left = 0; rcScroll.Top = row; rcScroll.Right = bInfo.dwSize.X - 1; rcScroll.Bottom = bInfo.dwSize.Y - 1; rcClip = rcScroll; chFill.Attributes = bInfo.wAttributes; chFill.Char.AsciiChar = ; ScrollConsoleScreenBuffer(hOut, rcScroll, rcClip, crDest, chFill);}void MoveText(int x, int y, SMALL_RECT rc){ COORD crDest = {x, y}; CHAR_INFO chFill; CONSOLE_SCREEN_BUFFER_INFO bInfo; GetConsoleScreenBufferInfo( hOut, bInfo );? chFill.Attributes = bInfo.wAttributes; chFill.Ch
您可能关注的文档
最近下载
- 中国云新南航空公司acars系统培训.ppt VIP
- 马克思主义宗教观87814.ppt VIP
- 《城市轨道交通通信与信号》教案 第11课 城市轨道交通通信系统(一).docx VIP
- 大众蔚领保养手册.docx VIP
- 部编人教版小学4四年级语文上册(全册)优秀教案设计.doc VIP
- 道德与法治新教材培训心得体会.pptx VIP
- 2026年高考化学大一轮复习第3讲离子共存 离子的检验与推断.pptx VIP
- 冯唐成事心法读书札记.docx VIP
- 第1课 时代精神的精华-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块).pptx VIP
- 《新闻采访与写作》电子课件 第三章 新闻采写的客体——新闻事实.ppt VIP
文档评论(0)