控制文本的移动是控制台窗口界面编程的一个很重要的功能,有了这个功能我们可以实现界面的滚动,
BOOL ScrollConsoleScreenBuffer( //文本移动函数
HANDLE hConsoleOutput, //句柄
const SMALL_RECT *lpScrollRectangle, //移动区域
const SMALL_RECT *lpClipRectangle, //裁剪区域,如果为NULL,那么将代表整个屏幕缓冲区
COORD dwDestinationOrigin, //移动到的位置,这个点将成为移动区域的左上顶点
const CHAR_INFO *lpFill //空出区域的填充字符
);
下面来看一个移动文本的样例程序,如下
#include
#include
#include
#include
int main()
{
HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄
CONSOLE_SCREEN_BUFFER_INFO csbi; //定义窗口缓冲区信息结构体
SMALL_RECT scroll; //定义移动区域
COORD pos = {0, 5}; //移动位置
CHAR_INFO chFill; //定义填充字符
GetConsoleScreenBufferInfo(handle_out, &csbi); //获得窗口缓冲区信息
//定义填充字符的各个参数及属性
chFill.Char.As