今天的任务是通过学习相关的函数,实现一些效果,什么效果呢,就是目前需要的效果。会涉及到的新内容是得到控制台窗口信息的方法,和用字符填充控制台的函数。先把控制台需要的函数封装在一个类里面:
class MyConsole
{
};
这样一来我就有一个控制台类,我想把一些功能放在里面,以后直接找它就可以了。现在我想要一个清屏的函数:CleanUp();我要把它加进去。但是我得先知道要怎么实现它。
文本窗口的一般控制步骤
第一步需要得到一个句柄。句柄是Windows的概念,有时候我也把它看作和指针类似的东西。句柄本身不是我要操作的对象,但是我在操作的过程中需要通过它来完成。这有点像以前悠闲的时候在喝茶,举起茶杯,然后喝一口。我不是举起茶,而是茶杯上的柄,以完成喝茶的动作。唯一不同的是,句柄在使用时获取,在不使用的时候要记得释放。控制台有三种类型的设备句柄:
STD_INPUT_HANDLE // 标准输入设备句柄(键盘上标准输入)
STD_OUTPUT_HANDLE // 标准输出设备句柄(屏幕上标准输出)
STD_ERROR_HANDLE // 标准错误句柄
// ---- 使用方法 ----
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 得到一个标准输出的句柄
这样一来就可以通过这个柄来控制屏幕的输出效果了。因为没有纯粹的清屏函数,现在扩充一下类:
class MyConsole
{
private:
HANDLE hOut; // 存放标准输出句柄
CONSOLE_SCREEN_BUFFER_INFO bInfo; // 窗口信息结构,里面有窗口的信息
public:
// -- 构造/析构

本文介绍如何通过学习相关函数实现控制台界面的清屏效果。首先,介绍了获取控制台窗口信息的方法和字符填充函数,并将这些功能封装到一个控制台类中。接着,详细讲解了获取句柄的过程,以及如何利用句柄控制屏幕输出。文章最后通过测试代码验证了清屏功能的正确性。
最低0.47元/天 解锁文章
9067





