Программирование видеоадаптеров CGA, EGA и VGA© Александр Фролов, Григорий ФроловТом 3, М.: Диалог-МИФИ, 1992, 287 стр. 14.9. Функция _settextcolor()Функция устанавливает цвет символов, выводимых функцией _outtext(): short _settextcolor( short index ); Параметр содержит индекс нового цвета символов из таблицы 15.1. Если к номеру индекса прибавить 0x10, то выводимые символы будут мигать. Функция возвращает предыдущий индекс цвета символов. Ниже приведен пример использования функций определения и установки цвета фона и цвета текста _getbkcolor(), _setbkcolor(), _gettextcolor(), _settextcolor():
// Пример использования функций _getbkcolor(), _setbkcolor(),
// _gettextcolor(), _settextcolor().
#include <conio.h>
#include <stdio.h>
#include <graph.h>
void main(void)
{
char buffer[80];
short text_color, old_text_color;
long background_color, old_background_color;
struct rccoord old_pos;
// сохраняем текущие цвета символов и фона,
// а также положение курсора
old_text_color = _gettextcolor();
old_background_color = _getbkcolor();
old_pos = _gettextposition();
// очищаем экран
_clearscreen( _GCLEARSCREEN );
// устанавливаем по очереди первые 25 из 32 возможных цветов фона
for(background_color = 0;
background_color < 26; background_color++) {
_setbkcolor(background_color );
_settextposition((short)background_color, 1);
_settextcolor(_BRIGHTWHITE);
sprintf(buffer, "Фон: %3d. Текст:", background_color);
_outtext(buffer);
// устанавливаем по очереди первые 23 из 32 возможных цветов текста
for(text_color = 0; text_color < 24; text_color++) {
_settextcolor(text_color);
sprintf(buffer, " %d", text_color);
_outtext(buffer);
}
}
getch();
// восстанавливаем цвета символов и фона,
// а также позицию курсора
_settextcolor(old_text_color);
_setbkcolor(old_background_color);
_clearscreen(_GCLEARSCREEN);
_settextposition(old_pos.row, old_pos.col);
}
|

