📄 buildscreen.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 + -