Функция Устанавливает текущий цвет фона, используя
палитру.
Синтаксис #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 и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также getbcolorsetallpalettesetcolorsetpalette
Пример:
#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;
}