📄 dbgconsole.h
字号:
#ifndef _DBGCONSOLE_H_
#define _DBGCONSOLE_H_
#include <windows.h>
#include <cstdio>
//#define DEBUGMODE
class GcDebugConsole
{
public:
/*DebugConsole()
{
}*/
GcDebugConsole( char * title )
{
#ifdef DEBUGMODE
AllocConsole();
SetConsoleTitle(title);
m_file = fopen("debug.txt", "w");
#endif
}
~GcDebugConsole()
{
#ifdef DEBUGMODE
FreeConsole();
if( m_file )
fclose(m_file);
#endif
}
void Write( char * fmt, ... )
{
#ifdef DEBUGMODE
char s[300];
va_list argptr;
//int cnt;
//va_start(argptr, fmt);
//cnt = s(s, fmt, argptr);
//va_end(argptr);
va_start(argptr, fmt);
vsprintf(s, fmt, argptr);
va_end(argptr);
strcat(s, "\n");
DWORD CharsWritten;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), s, strlen(s), &CharsWritten, NULL);
if( m_file )
fprintf(m_file, s);
#endif
}
void Clear()
{
#ifdef DEBUGMODE
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {0, 0};
DWORD count;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
SetConsoleCursorPosition(hStdOut, coord);
#endif
}
void Move( int x, int y )
{
#ifdef DEBUGMODE
/*HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo(handle, &info);
info.srWindow.Left = 0;
info.srWindow.Top = 0;
info.srWindow.Right = 50;
info.srWindow.Bottom = 50;
SetConsoleWindowInfo(handle, true, &info.srWindow);
/*RECT rc = {0, 0, width, height};
int centerX;
int centerY;
/* Adjust that to a size that includes the border, etc.
::AdjustWindowRectEx (&rc, WS_OVERLAPPEDWINDOW, ::GetMenu (m_hwnd) != NULL, 0); /* Extended style of the main window
centerX = (::GetSystemMetrics (SM_CXFULLSCREEN) / 2) - (abs (rc.left) + rc.right) / 2;
centerY = (::GetSystemMetrics (SM_CYFULLSCREEN) / 2) - (abs (rc.top) + rc.bottom) / 2;
//centerX = width
MoveWindow(m_hwnd, x, y, (rc.right - rc.left), (rc.bottom - rc.top), TRUE);*/
#endif
}
private:
FILE * m_file;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -