| 12
 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