⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buildscreen.cpp

📁 MUD文字游戏开发
💻 CPP
字号:
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include "BuildScreen.h"
#include "GlobalDef.h"
#include "Input.h"

CBuildScreen::CBuildScreen(void)
{
	m_hOut = GetStdHandle(STD_OUTPUT_HANDLE);
}

CBuildScreen::~CBuildScreen(void)
{
	CloseHandle(m_hOut);
}

//创建一下新的控制台
void CBuildScreen::CreateNewScreen()
{
	SetScreenSize();
	SetScreenTitle();
	ClearScreen();
	//system("cls");
	//_getch();
}

//重新设置控制台大小
void CBuildScreen::SetScreenSize()
{
	COORD POS = {SCREENWIDTH, SCREENHEIGHT};
	SetConsoleScreenBufferSize(CInput::getHout(),POS); // 重新设置缓冲区大小
	SMALL_RECT rc = {0,0, SCREENWIDTH-1, SCREENHEIGHT-1}; // 重置窗口位置和大小
	SetConsoleWindowInfo(CInput::getHout(),true ,&rc);
	//设置控制台属性,背景是蓝色,文本颜色是黄色
	WORD att = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE;
	SetConsoleTextAttribute(CInput::getHout(), att);
	CONSOLE_CURSOR_INFO cci = { 25, FALSE };
	SetConsoleCursorInfo(CInput::getHout(), &cci); // 去除光标
}

//设置控制台标题
void CBuildScreen::SetScreenTitle()
{
	//*--------------设置标题----------*/
	TCHAR szNewTitle[MAX_PATH];
	strcpy_s(szNewTitle,"WORD GAME - 冰火之旅");
	if( !SetConsoleTitle(szNewTitle) )
	{
		printf("SetConsoleTitle failed (%d)\n", GetLastError());
	}
}

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

	//SetConsoleCursorPosition(CInput::getHout(), home);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -