setbkcolor

Функция            Устанавливает текущий цвет фона, используя
                   палитру.

Синтаксис          #include 
                   void far setbcolor(int color);

Файл, содержащий   graphics.h
прототип

Описание           setbcolor устанавливает фон в цвет, опре-
                   деляемый color. Аргумент color может быть именем
                   или номером, как показано в следующей таблице.

          -----------------------------------------------------
           номер         имя            номер         имя
          -----------------------------------------------------
             0           BLACK                8     DARKGRAY
             1           BLUE                 9     LIGHTBLUE
             2           GREEN                10    LIGHTGREEN
             3           CYAN                 11    LIGHTCYAN
             4           RED                  12    LIGHTRED
             5           MAGENTA              13    LIGHTMAGENT
             6           BROWN                14    YELLOW
             7           LIGHTGRAY            15    WHITE
          -----------------------------------------------------

          Замечание. Эти символические имена определены в graphics.h

                   Например, если вы хотите установить цвет фона в
                   синий, вы можете вызвать

                         setbkcolor(BLUE)
                         /* или */
                         setbkcolor(1)

                   На системах с CGA и EGA setbkcolor изменяет цвет
                   фона изменением первого элемента палитры.

                   Замечание. Если вы используете VGA или EGA и ме-
                   няте цвета палитры с помощью setpalette или
                   setallpalette, то предопределенные символические
                   константы могут не дать требуемого цвета. Это
                   происходит потому, что параметр для setbkcolor
                   отображает номер элемента в текущей палитре, а не
                   указанный цвет (если параметр не равен 0, т.к. он
                   всегда устанавливает цвет фона в черный).

Возвращаемое       Нет.
значение

Переносимость      Функция уникальна для Turbo C++. Она работает
                   только на компьютерах IBM PC и совместимых с ни-
                   ми, оснащенных дисплейными адаптерами, поддержи-
                   вающими графический режим.

Смотрите также      getbcolor setallpalette setcolor setpalette

Пример:

#include 
#include 
#include 
#include 

int main(void)
{
/* Выбрать драйвер и режим, поддерживающие несколько цветов фона */
int graphdriver = EGA, gmode = EGAHI, errorcode;
int bkcolor,x,y,maxcolor;
char msg[80];

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();

if(errorcode != grOk)  /* если ошибка */
{
   printf("Ошибка :%s\n",grapherrormsg(errorcode));
   printf("Для останова нажмите любую клавишу\n");
   getch();
   exit(1);  /* завершение с кодом ошибки */
}
/* максимальный поддерживаемый индекс цвета */
maxcolor = getmaxcolor();
/* установить центрирование текста */
settextjustify(CENTER_TEXT,CENTER_TEXT);
x = getmaxx() / 2;
y = getmaxy() / 2;
/* цикл по допустимым цветам */
for(bkcol=0;bkcol<=maxcolor();bkcol++)
{
   /* очистить экран */
   cleardevice();
   setbkcolor(bkcol);
   /* вывести сообщение */
   if(bkkol == WHITE)
      setcolor(EGA_BLUE);
   sprintf(msg,"Background color: %d",bkcol);
   outtext(x,y,msg);
   getch();
}
/* очистка */
getch();
closegraph();
return 0;
}