textwidth

Функция            Возращает ширину строки в пикселях.

Синтаксис          #include 
                   int far textwidth(char far *textstring);

Файл, содержащий   graphics.h
прототип

Описание           Графическая функция textwidth берет длину
                   строки, текущий размер шрифта и фактор увеличения
                   и определяет ширину textstring в пикселях.

                   Эта функция используется для, вычисления ширины
                   окна, определения размера заголовка для того,
                   чтобы он помещался в диаграмму или блок-схему, и
                   т.д.

                   Лучше использовать textwidht для вычисления
                   ширины строк, чем это делать вручную. При
                   использовании этой функции нет необходимости
                   выполнять модификацию кода при выборе различных
                   шрифтов.

Возвращаемое       textwidth возвращает ширину строки текста
значение           в пикселях.

Переносимость      Функция уникальна для Turbo C++. Она работает
                   только на компьютерах IBM PC и совместимых с
                   ними, оснащенных дисплейными адаптерами,
                   поддерживающими графический режим.

Смотрите также      gettextsettings outtext outtextxy
                    setteststyle textheight

Пример:

#include 
#include 
#include 
#include 
#include 

int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int x=0,y=0,i;
char msg[80];

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk)  /* если ошибка */
{
   printf("Ошибка :%s\n",grapherrormsg(errorcode));
   printf("Для останова нажмите любую клавишу\n");
   getch();
   exit(1);  /* завершение с кодом ошибки */
}
y = getmaxy()/2;
settextjustify(LEFT_TEXT,CENTER_TEXT);
/* вывести текcт на экран */
for(i=0; i<11; i++)
{
   /* выбрать тип шрифта, направление, размер */
   settextstyle(TRIPLEX_FONT,HORIZ_DIR,i);
   /* создать строку сообщения */

   sprintf(msg,"Size: %d",i);
   /* вывести сообщение */
   outtextxy(1,y,msg);
   /* перейти на следующую строку */
   x += textwigth(msg);
}
/* очистка */
getch();
closegraph();
return 0;
}