控制文本的移动,可以取代清屏再重绘操作。如果用来做文本编辑器的滚动条是很合适的,也许也可以用在俄罗斯方块上面。控制台使用一个函数把某个区域内的文本移动到另一个区域。
效果
在缓冲区中输出4行字,分别在对应的行上。然后使用移动文本的函数把第三行后面的文本移到第一行后面;
#include "MyConsole.h"
#include <stdio.h>
int main()
{
CMyConsole myConsole;
printf("\n1111111111111111111\n");
printf("2222222222222222222\n");
printf("3333333333333333333\n");
printf("4444444444444444444\n");
system("pause"); // 暂停
SMALL_RECT rc = {0, 3, 30, 20}; // 要移动的区域
myConsole.MoveText(rc, 10, 1); // 移动到坐标(10,1)
system("pause");
return 0;
}