Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

setpalette

 
 Функция            Изменяет один цвет в палитре.
 
 
 
 Синтаксис          #include <graphics.h>
 
                    void far setpalette(int colornum, int color);
 
 
 
 Файл, содержащий   graphics.h
 
 прототип
 
 
 
 Описание           setpalette устанавливает элемент colornum в color.
 
                    Например,  setpalette(0,5)  изменяет  первый  цвет
 
                    текущей палитры (цвет фона) на цвет,  имеющий  код
 
                    5. Если size - это количество элементов в  текущей
 
                    палитре,  то  colornum  может  изменяться  от 0 до
 
                    (size -1).
 
 
 
                    Вы можете частично (либо целиком) поменять цвета в
 
                    EGA/VGA палитре с помощью setpalette. На CGA же вы
 
                    можете  изменить  лишь  первый   элемент   палитры
 
                    (colornum равен 0, цвет фона).
 
 
 
                    Элементы массива     colors,     используемые    в
 
                    setpalette,   могут   быть   представлены    ввиде
 
                    символических констант, определенных в graphics.h:
 
 
 
           -----------------------------------------------------
 
                     Таблица доступных цветов
 
           -----------------------------------------------------
 
                  CGA                         EGA/VGA
 
           Имя               Знач      Имя               Знач.
 
           -----------------------------------------------------
 
           BLACK                0    EGA_BLACK              0
 
           BLUE                 1    EGA_BLUE               1
 
           GREEN                2    EGA_GREEN              2
 
           CYAN                 3    EGA_CYAN               3
 
           RED                  4    EGA_RED                4
 
           MAGENTA              5    EGA_MAGENTA            5
 
           BROWN                6    EGA_LIGHTGRAY          7
 
           LIGHTGRAY            7    EGA_BROWN             20
 
           DARKGRAY             8    EGA_DARKGRAY          56
 
           LIGHTBLUE            9    EGA_LIGHTBLUE         57
 
           LIGHTGREEN          10    EGA_LIGHTGREEN        58
 
           LIGHTCYAN           11    EGA_LIGHTCYAN         59
 
           LIGHTRED            12    EGA_LIGHTRED          60
 
           LIGHTMAGENTA        13    EGA_LIGHTMAGENTA      61
 
           YELLOW              14    EGA_YELLOW            62
 
           WHITE               15    EGA_WHITE             63
 
           -----------------------------------------------------
 
 
 
                    Заметим, что цвета зависят от текущих графического
 
                    драйвера и графического режима.
 
 
 
                    Изменения, произведенные  в  палитре,   сразу   же
 
                    отражаются   на  экране.  При  изменении  цвета  в
 
                    палитре,  все на экране,  окрашенное в этот  цвет,
 
                    станет окрашенным в новый цвет.
 
 
 
                    Замечание. setpalette  не  может  использоваться с
 
                    драйвером IBM-8514.
 
 
 
 Возвращаемое       Если в setpalette передается ошибочное
 
 значение           значение, graphresult возвратит -11(grError) а
 
                    текущая палитра останется без изменений.
 
 
 
 Переносимость      Функция уникальна  для  Borland C++.  Она работает
 
                    только на компьютерах IBM PC и совместимых с ними,
 
                    оснащенных дисплейными адаптерами, поддерживающими
 
                    графический  режим.  Функция   не   совместима   с
 
                    Windows.
 
 
 
 Смотрите также     getpalette, graphresult, setbkcolor, setcolor,
 
                    setrrgbpalette.
 
 
 
 Пример:
 
 
 
 #include <graphics.h>
 
 #include <stdlib.h>
 
 #include <stdio.h>
 
 #include <conio.h>
 
 
 
 int main(void)
 
 {
 
 /* Запрос автоопределения */
 
 int graphdriver = DETECT, gmode, errorcode;
 
 int color,maxcolor,ht;
 
 int y=10;
 
 char msg[80];
 
 
 
 /* инициализация графики и локальных переменных */
 
 initgraph(&graphdriver,&gmode,"");
 
 
 
 /* получение результата инициализации */
 
 errorcode = graphresult();
 
 if(errorcode != grOk)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 maxcolor = getmaxcolor();
 
 ht = 2*textheight("W");
 
 /* вывести цвета по умолчанию */
 
 for(color=0;color<maxcolor; color++);
 
 {
 
    setcolor(color);
 
    sprintf(msg,"Color %d",color);
 
    outtextxy(1,y,msg);
 
    y += ht;
 
 }
 
 /* ожидать нажатия клавиши */
 
 getch();
 
 /* присвоить цветам по одному, значение черного */
 
 for(color=0;color<maxcolor; color++);
 
 {
 
    setpalette(color,BLACK);
 
    getch();
 
 }
 
 
 
 /* очистка */
 
 closegraph();
 
 return 0;
 
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS