1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| void MYclrwin(int left, int top, int right, int bottom)
// efface une zone de l'écran
{
int i ;
COORD dwCoord = {0, 0} ;
COORD dwSize = {(right-left+1),(bottom-top+1)} ;
HANDLE hScreen=GetStdHandle(STD_OUTPUT_HANDLE) ;
CHAR_INFO Buffer[dwSize.X*dwSize.Y] ;
SMALL_RECT Region[2] ;
CONSOLE_SCREEN_BUFFER_INFO Info;
if(GetConsoleScreenBufferInfo(hScreen, &Info))
{
for(i=0 ; i < dwSize.X*dwSize.Y ; i++)
{
Buffer[i].Char.AsciiChar=' ' ;
Buffer[i].Attributes = Info.wAttributes ;
}
Region[0].Left = left-1 ;
Region[0].Right = right-1 ;
Region[0].Top = top-1 ;
Region[0].Bottom = bottom-1 ;
WriteConsoleOutput(hScreen, (CHAR_INFO*) Buffer, dwSize, dwCoord, Region) ;
gotoxy (left, top);
}
} |
Partager