23-03-2005, 10:12
|
|
|
|
חבר מתאריך: 04.08.02
הודעות: 4,468
|
|
...
בהנחה שיודעים מה הפונקציה "cleardevice()" שהציע macox עושה, אפשר לבנות אחת לצורך שלך.
לפי מה שהבנתי היא סה"כ ממלא שוב את הרקע של הקונסול, ומעבירה את הסמן ל(0,0).
אתה יכול לנסות דבר כזה:
קוד:
void simpleClrScr(void)
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsole, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, TEXT(' '),
dwConSize, coordScreen, &cCharsWritten);
GetConsoleScreenBufferInfo(hConsole, &csbi);
FillConsoleOutputAttribute(hConsole, csbi.wAttributes,
dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}
כמובן זה בהנחה שאתה עובד עם winapi. וכמובן לגביי הצבע של הרקע, אתה צריך לטפל בזה
|