Files

53 lines
1.2 KiB
C
Raw Permalink Normal View History

2026-07-29 11:42:18 +08:00
#include <c_WinUI_Console.h>
static void BlankLine(HANDLE hOut, int y) {
DWORD NumWritten;
COORD c;
c.X = 0;
c.Y = y;
FillConsoleOutputCharacter(hOut, ' ', 80, c, &NumWritten);
}
void c_WinUI_Console_ClearScreen() {
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
for (int i=0; i<25; i++) {
BlankLine(hOut, i);
}
c_WinUI_Console_GotoXY(0, 0);
}
void c_WinUI_Console_WriteStr(const char* str) {
if (!str) return;
DWORD NumWritten;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), str, strlen(str), &NumWritten, NULL);
}
void c_WinUI_Console_WriteXY(int x, int y, const char* s, WORD attr) {
if (!s) return;
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c;
DWORD result;
c.X = x;
c.Y = y;
SetConsoleTextAttribute(hOut, attr);
SetConsoleCursorPosition(hOut, c);
WriteConsole(hOut, s, strlen(s), &result, NULL);
}
void c_WinUI_Console_GotoXY(int x, int y) {
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
void c_WinUI_Console_BlankLine(int y) {
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
BlankLine(hOut, y);
}