📄 dbwindow.h
字号:
#ifndef _DBWINDOW_H_H_
#define _DBWINDOW_H_H_
#include <windows.h>
#include <iostream.h>
#include <stdio.h>
#include <WINDEF.H>
#include <TCHAR.H>
#include <stdarg.h>
#define DBWINDOW_BUFFER_WIDTH 150
#define DBWINDOW_BUFFER_HEIGHT 10000
//控制台输出时的文本颜色 WORD Attrs
#define WDS_T_RED FOREGROUND_RED
#define WDS_T_GREEN FOREGROUND_GREEN
#define WDS_T_BLUE FOREGROUND_BLUE
//控制台输出时的文本背景颜色 WORD Attrs
#define WDS_BG_RED BACKGROUND_RED
#define WDS_BG_GREEN BACKGROUND_GREEN
#define WDS_BG_BLUE BACKGROUND_BLUE
//FOREGROUND_INTENSITY
//BACKGROUND_INTENSITY|FOREGROUND_INTENSITY
#ifdef _DEBUG
//设置控制台输出窗口标题
BOOL DBWindowTile(LPCTSTR tile);
//格式化文本输出
BOOL DBWindowWrite(LPCTSTR fmt,...);
//带颜色格式化文本输出
BOOL DBWindowWrite(WORD Attrs,LPCTSTR fmt,...);
#define MAX_BUF_LEN 4096
#define CONSOLE_TILE _T("This is a Debug Window!")
class ConsoleWindow
{
public:
ConsoleWindow()
{
m_hConsole=NULL;
m_bCreate=FALSE;
if(AllocConsole())
{
m_hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTitle(CONSOLE_TILE);
SetConsoleMode(m_hConsole,ENABLE_PROCESSED_OUTPUT);
m_bCreate=TRUE;
}
else
{
m_hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
if(m_hConsole==INVALID_HANDLE_VALUE)
m_hConsole=NULL;
}
if(m_hConsole)
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
if(GetConsoleScreenBufferInfo(m_hConsole, &csbiInfo))
{
m_bAttrs=TRUE;
m_OldColorAttrs = csbiInfo.wAttributes;
//added by navy 20081215
csbiInfo.dwSize.X = DBWINDOW_BUFFER_WIDTH;
csbiInfo.dwSize.Y = DBWINDOW_BUFFER_HEIGHT;
SetConsoleScreenBufferSize(m_hConsole,csbiInfo.dwSize);
//SetConsoleTextAttribute(m_hConsole,WDS_BG_RED|WDS_BG_BLUE|WDS_BG_GREEN|WDS_T_BLUE);
//added end
}
else
{
m_bAttrs=FALSE;
m_OldColorAttrs = 0;
}
}
};
~ConsoleWindow()
{
if(m_bCreate)
{
FreeConsole();
}
};
BOOL SetTile(LPCTSTR lpTile)
{
return SetConsoleTitle(lpTile);
};
BOOL WriteString(LPCTSTR lpString)
{
BOOL ret=FALSE;
if(m_hConsole)
{
ret=WriteConsole(m_hConsole,lpString,_tcslen(lpString),NULL,NULL);
}
return ret;
};
BOOL WriteString(WORD Attrs,LPCTSTR lpString)
{
BOOL ret=FALSE;
if(m_hConsole)
{
if(m_bAttrs)
{
SetConsoleTextAttribute(m_hConsole,Attrs);
}
ret=WriteConsole(m_hConsole,lpString,_tcslen(lpString),NULL,NULL);
if(m_bAttrs)
{
SetConsoleTextAttribute(m_hConsole,m_OldColorAttrs);
}
}
return ret;
};
private:
HANDLE m_hConsole;
BOOL m_bCreate;
BOOL m_bAttrs;
WORD m_OldColorAttrs;
};
#else
#define DBWindowTile
#define DBWindowWrite
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -