21 ::SetConsoleTextAttribute (
27 return ::AllocConsole ();
32 BOOL response = FALSE;
34 _hObject = ::GetStdHandle (STD_OUTPUT_HANDLE);
35 if (
_hObject != INVALID_HANDLE_VALUE)
38 if (response != FALSE)
49 WORD wAttribute =
static_cast<int>(foreColor) |
static_cast<int>(backColor);
51 return ::SetConsoleTextAttribute (
_hObject, wAttribute);
57 BOOL ret = ::WriteConsole (
58 _hObject, lpctszString, lstrlen (lpctszString), &dwWritten, NULL);
69 va_start (args, format);
71 ilen = (_vsctprintf (format, args) + 1) *
sizeof (TCHAR);
72 lptszString =
new TCHAR[ilen];
74 if (lptszString != NULL)
76 _vstprintf_s (lptszString, ilen, format, args);
79 this->
Write (lptszString);
87 return ::SetConsoleTitle (lpctszTitle);
92 COORD coord = { x, y };
94 return ::SetConsoleCursorPosition (
_hObject, coord);
99 COORD coord = { x, y };
100 DWORD dwNumbberOfCharsWritten;
102 ::WriteConsoleOutputCharacter (
103 _hObject, _T (
" "),
sizeof (TCHAR), coord, &dwNumbberOfCharsWritten);
105 return ::SetConsoleScreenBufferSize (
_hObject, coord);
110 SMALL_RECT rect = { 0, 0, width - 1, height - 1 };
112 return ::SetConsoleWindowInfo (
_hObject, TRUE, &rect);
118 CONSOLE_SCREEN_BUFFER_INFO csbi;
124 DWORD dwSize = csbi.dwSize.X * csbi.dwSize.Y;
126 COORD coord = { 0, 0 };
128 ret = FillConsoleOutputCharacter (
129 _hObject, (TCHAR)
' ', dwSize, coord, &dwWritten);
135 ret = FillConsoleOutputAttribute (
136 _hObject, csbi.wAttributes, dwSize, coord, &dwWritten);
149 return ::GetConsoleScreenBufferInfo (
_hObject, &csbi);
コンソールに関するWindowsAPIを集約したクラス
BOOL APIENTRY SetColor(ForeColor foreColor, BackColor backColor) const
文字色、背景色を設定します。
DWORD APIENTRY Write(LPCTSTR lpctszString) const
コンソールに文字を出力します。
APIENTRY ~Console()
デストラクタ
BOOL APIENTRY SetTitle(LPCTSTR lpctszTitle) const
コンソールタイトルを設定します。
BOOL APIENTRY SetCursorPosition(SHORT x, SHORT y) const
出力位置を設定します。
BOOL APIENTRY Init()
Consoleクラスを初期化します。
APIENTRY Console()
コンストラクタ
BOOL APIENTRY Create() const
コンソール出力ウィンドウを作成します。
BOOL APIENTRY GetScreenBufferInfo(CONSOLE_SCREEN_BUFFER_INFO &csbi) const
VOID APIENTRY Format(LPCTSTR format,...) const
コンソールに文字を出力します。
BOOL APIENTRY Clear() const
コンソールをクリアします。
BOOL APIENTRY SetBufferSize(SHORT x, SHORT y) const
バッファサイズを設定します。
BOOL APIENTRY SetWindowInfo(SHORT width, SHORT height) const
ウィンドウサイズを設定します。
CONSOLE_SCREEN_BUFFER_INFO _prevConsoleScreenBufferInfo
コンソールウィンドウ出力情報
HANDLEを扱うWindowsAPIを集約した基底クラス
HANDLE _hObject
ハンドルを使用するWindowsAPIで保持するHANDLE値