亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

控制臺窗口界面的編程控制(四)

2019-11-17 05:12:25
字體:
來源:轉載
供稿:網友

  七、滾動和移動

  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("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.Char.AsciiChar = ' ';
 ScrollConsoleScreenBuffer(hOut, &rc, NULL, crDest, &chFill);
}

void ClearScreen(void)
{
 CONSOLE_SCREEN_BUFFER_INFO bInfo;
 GetConsoleScreenBufferInfo( hOut, &bInfo );
 COORD home = {0, 0};
 WORD att = bInfo.wAttributes;
 unsigned long size = bInfo.dwSize.X * bInfo.dwSize.Y;
 FillConsoleOutputAttribute(hOut, att, size, home, NULL);
 FillConsoleOutputCharacter(hOut, ' ', size, home, NULL);
}

  程序中,實現刪除行的操作DeleteLine的基本原理是:首先將裁剪區域和移動區域都設置成指定行row(包括該行)以下的控制臺窗口區域,然后將移動的位置指定為(0, row-1)。
這樣,超出裁剪區域的內容被裁剪掉,從而達到刪除行的目的。

  需要說明的是,若裁剪區域參數為NULL,則裁剪區域為整個控制臺窗口。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲黄色有码视频| 欧洲成人性视频| 欧美放荡办公室videos4k| 久久久av网站| 亚洲在线视频观看| 欧美高清视频免费观看| 国产97在线亚洲| 亚洲视频在线视频| 91国产高清在线| 亚洲电影在线看| 亚洲欧洲xxxx| 国产午夜精品视频| 国产精品久久久久久久久久久新郎| 精品二区三区线观看| 91在线观看免费| 91国产在线精品| 欧美日韩福利视频| 欧美一级免费看| 国产精品露脸自拍| 国产免费观看久久黄| 在线日韩av观看| 亚洲免费视频观看| 欧美另类在线观看| 欧美一级大胆视频| 亚洲精品美女久久久久| 国产精品久久电影观看| 精品高清一区二区三区| 久久99精品久久久久久噜噜| 91九色国产社区在线观看| 亚洲色在线视频| 精品美女国产在线| 精品亚洲va在线va天堂资源站| 日韩中文有码在线视频| 国产一区二区三区在线观看网站| 久久久久五月天| 色妞欧美日韩在线| 中文字幕亚洲欧美在线| 北条麻妃一区二区三区中文字幕| 日产精品久久久一区二区福利| 色妞久久福利网| 97视频在线观看亚洲| 国产成人精品久久| 国产精品久久久久久久av大片| 亚洲一区二区久久久久久| 欧美国产日韩一区二区三区| 91九色国产在线| 国产在线拍偷自揄拍精品| 久久久久久久久中文字幕| 久久久亚洲天堂| 亚洲伦理中文字幕| 欧美激情精品久久久久久黑人| 欧美洲成人男女午夜视频| 日韩一区二区在线视频| 欧美日韩国产麻豆| 国产v综合ⅴ日韩v欧美大片| 欧美中文字幕视频在线观看| 欧美日韩高清在线观看| 亚洲欧美国产一本综合首页| 欧美日韩一二三四五区| 日本欧美一二三区| 日韩中文字幕免费| 91久久国产精品91久久性色| 2019中文字幕在线免费观看| 亚洲国产天堂网精品网站| 亚洲午夜久久久影院| 欧美极品少妇xxxxⅹ免费视频| 韩日欧美一区二区| 久久国产精品免费视频| 亚洲女人天堂色在线7777| 揄拍成人国产精品视频| 色综合色综合久久综合频道88| 中日韩午夜理伦电影免费| 青青a在线精品免费观看| 亚洲精品99久久久久| 国产精品成久久久久三级| 2024亚洲男人天堂| www.日韩不卡电影av| 日韩一区视频在线| 国产精品91视频| 国产午夜精品美女视频明星a级| 亚洲综合中文字幕68页| 亚洲日本欧美日韩高观看| 久久久久久这里只有精品| 欧美日韩综合视频网址| 国产精品高潮在线| 在线日韩日本国产亚洲| 草民午夜欧美限制a级福利片| 国产精品久久久久久久美男| 在线观看国产成人av片| 欧美黄色片免费观看| 国产aⅴ夜夜欢一区二区三区| 一区二区欧美在线| 国产精品视频播放| 日韩电影大片中文字幕| 麻豆乱码国产一区二区三区| 国产精品wwww| 久久久精品一区二区| 97激碰免费视频| 日韩av综合网| 欧美国产日韩免费| 中文字幕亚洲欧美| 国产成人中文字幕| 海角国产乱辈乱精品视频| 亚洲国产精品悠悠久久琪琪| 欧美精品福利视频| 久久久免费观看视频| 欧美日本黄视频| 日韩欧美a级成人黄色| 亚洲午夜女主播在线直播| 精品动漫一区二区| 日韩国产精品亚洲а∨天堂免| 欧美激情视频在线| 国产精品成人在线| 久久国产精品影片| 日韩久久精品电影| 久久影院中文字幕| 久久久视频在线| 青草热久免费精品视频| 26uuu亚洲伊人春色| 欧美午夜无遮挡| 亚洲国产日韩欧美在线99| 亚洲精品按摩视频| 日韩免费在线视频| 亚洲黄色在线看| 日韩美女在线播放| 亚洲韩国欧洲国产日产av| 欧美一级电影免费在线观看| 在线观看日韩专区| 国产亚洲成av人片在线观看桃| 91嫩草在线视频| 热99精品里视频精品| 日韩欧美在线第一页| 国产日本欧美视频| 国产精品中文久久久久久久| 日本乱人伦a精品| 日韩欧美在线一区| 精品人伦一区二区三区蜜桃免费| 色偷偷888欧美精品久久久| 91免费精品视频| 亚洲激情免费观看| 久久久久久久久久久久久久久久久久av| 日韩在线观看免费高清完整版| 国产91精品久久久久久| 日韩高清av一区二区三区| 久久国产精品亚洲| 91精品国产91久久久久久吃药| 91精品在线观看视频| 亚洲视频自拍偷拍| 国产精品亚洲欧美导航| 一级做a爰片久久毛片美女图片| 永久免费毛片在线播放不卡| 黑丝美女久久久| 国产精品美女av| 久久精品国产综合| 欧美性xxxxxx| 日本欧美一级片| 日产精品99久久久久久| 国产精品久久久久7777婷婷| 欧美成人激情视频免费观看| 成人福利网站在线观看| 91高潮在线观看| 亚洲欧美日韩中文视频| 精品精品国产国产自在线| 精品爽片免费看久久|