CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setbkcolor
setbkcolor
Функция Устанавливает текущий цвет фона, используя
палитру.
Синтаксис #include <graphics.h>
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, т.к. он
всегда устанавливает цвет фона в черный).
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Borland C++. Она работает
только на компьютерах IBM PC и совместимых с ними,
оснащенных дисплейными адаптерами, поддерживающими
графический режим. Функция не совместима с
Windows.
Смотрите также getbcolor, setallpalette, setcolor, setpalette.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
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",grapherrormessage(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;
}
