CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
settextstyle
settextstyle
Функция Устанавливает текущие характеристики текста для графического вывода. Синтаксис #include <graphics.h> void far settextstyle(int font,int direction, int charsize); Файл, содержащий graphics.h прототип Описание settextstyle устанавливает шрифт текста, направление отображения текста и размер символов. Вызов settextstyle действует для любых текстов, выводимых с помощью outtext и outtextxy. Параметры font, direction и charsize, передаваемые в settextstyle, описаны следующим образом: font: допустимы: один шрифт с матрицей 8х8 бит и несколько "стилизованных" шрифтов. По умолчанию используется шрифт с матрицей 8х8 битов. Перечисленные font_names, определенные в graphics.h, определяют названия различных шрифтов( смотри таблицу): ------------------------------------------- Имя Знач. Описание ------------------------------------------- DEFAULT_FONT 0 шрифт 8х8 бит TRIPLEX_FONT 1 утроенный шрифт SMALL_FONT 2 малый шрифт SANSSERIF_FONT 3 шрифт sans-serif GOTHIC_FONT 4 готический шрифт ------------------------------------------- Битовый шрифт, используемый по умолчанию, встроен в графическую систему. Стилизованные шрифты храняться в дисковых файлах *.CHR и по одному могут храниться в памяти. Поэтому при выборе шрифта, отличного от загруженного в систему, необходимо загрузить соответствующий *.CHR-файл с диска. Для избежания этих загрузок при использовании нескольких шрифтов вы можете поместить шрифтовые файлы в вашу программу при компановки. Это осуществляется путем преобразования их в объектные файлы с помощью утилиты BGIOBJ и регистрации их через register- bgifont, как описано в файле UTIL.DOC, поставляемом вместе с Borland C++. direction: поддерживается два направления - горизонтальный текст (слева направо) и вертикальный текст (повернут на 90 градусов против часовой стрелки). По умолчанию наравление равно HORIZ_DIR. ------------------------------------------- Имя Знач. Описание ------------------------------------------- HORIZ_DIR 0 слева направо VERT_DIR 1 снизу вверх ------------------------------------------- charsize: размер каждого символа может быть увеличен фактором charsize. Значение charsize равное 0 используется только со стилизованными шрифтами, а ненулевое значение charsize можно использовать и с основным битовым шрифтом. 1) Если charsize равен 1, outtext и outtextxy будут отображать шрифтовую матрицу 8х8 бит в прямоугольник 8х8 пикселов на экране. 2) Если charsize равен 2, эта функция отобразит матрицу 8х8 бит в прямоугольник 16х16 пикселов на экране, и т.д.( до ограничения в 10 раз больше от нормального размера). 3) Когда charsize равен 0, функции вывода outtext и outtextxy увеличивают шрифт текста используя либо фактор увеличения символов(4) по умолчанию, либо размер шрифта определенный пользователем, используя setusercharsize. Используйте также textheight и textwidth для определения размера шрифта. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также gettextsettings, graphresult, installuserfont, settextjustify, setusercharsize, textheight, textwidth. Пример: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> /* имена поддерживаемых шрифтов */ char *font[] = {"DEFAULT_FONT", "TRIPLEX_FONT", "SMALL_FONT", "SANS_SERIF_FONT", "GOTHIC_FONT" }; int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int style,midx,midy; int size=1; /* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,""); /* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormessage(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; settextjustify(CENTER_TEXT,CENTER_TEXT); /* цикл по шрифтам */ for(style=DEFAULT_FONT;style<GOTHIC_FONT;style++) { cleardevice(); if(style==TRIPLEX_FONT) size = 4; /* установить тип шрифта */ settextstyle(style,HORIZ_DIR,size); /* вывести сообщение */ outtextxy(midx,midy,fname[style]); getch(); } /* очистка */ getch(); closegraph(); return 0; }