Функция Получает информацию о текущем графическом шрифте.
Синтаксис #include
void var gettexsettings(struct
textsettingstype far *texttypeinfo);
Файл, содержащий graphics.h
прототип
Описание gettextsettings заполняет структуру
textsettingstype, на которую указывает textinfo,
информацией о текущем текстовом шрифте, направле-
нии, размере и выравнивании.
Структура textsettingstype, используемая
gettextsettings, определена в graphics.h следую-
щим образом:
struct textsettingstype{
int font;
int direction;
int charsize;
int horiz;
int vert;
};
Смотрите settextstyle, в которой содержится опи-
сание этих полей.
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Turbo C++. Она работает
только на компьютерах IBM PC и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также outtextouttextxyregisterbgifontsettextjustifysettextstylesetusercharsizetextheighttextwidth
Пример:
#include
#include
#include
#include
/* имена поддерживаемых шрифтов */
char *font[] = {"DEFAULT_FONT",
"TRIPLEX_FONT",
"SMALL_FONT",
"SANS_SERIF_FONT",
"GOTHIC_FONT"
};
/* имена направлений текста */
char *dir[] = {"HORIS_DIR","VERT_DIR"};
/* горизонтальное выравнивание текста */
char *hjust[] = {"LEFT_TEXT","CENTER_TEXT","RIGTH_TEXT"};
/* вертикальное выравнивание текста */
char *vjust[] = {"BOTTOM_TEXT","CENTER_TEXT","TOP_TEXT"};
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
struct textsettingstype textinfo;
int midx,midy,ht;
char fontstr[80],dirstr[80],sizestr[80];
char hjuststr[80],vjuststr[80];
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* получить информацию о текущем шрифте */
gettextsettings(&textinfo);
/* преобразовать информацию в строки */
sprintf(fontstr,"Шрифт: %s",font[textinfo.font]);
sprintf(dirstr,"Напрвление: %s",dir[textinfo.direction]);
sprintf(sizestr,"Размер: %d",textinfo.charsize);
sprintf(hjuststr,"Горизонтальное выравнивание: %s",
hjust[textinfo.horiz]);
sprintf(hjuststr,"Вертикальное выравнивание: %s",
hjust[textinfo.vert]);
/* вывести информацию */
ht = textheight("W");
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(midx,midy,fontstr);
outtextxy(midx,midy+2*ht,direstr);
outtextxy(midx,midy+4*ht,sizestr);
outtextxy(midx,midy+6*ht,hjuststr);
outtextxy(midx,midy+8*ht,vjuststr);
/* очистка */
getch();
closegraph();
return 0;
}