Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Settextjustify

CuBook05

Функция

Устанавливает выравнивание текста для графических функций.
 
Синтаксис

#include <graphics.h>
void far settextjustify(int horiz,int vert);
 
Прототип

graphics.h
 
Описание

Выводимый текст, после обращения к settextjustify будет выравнен горизантально или вертикально относительно текущей позиции (СР). По умолчанию устанавливается выравнивание текста LEFT_TEXT (для горизонтального) и TOP_TEXT (для вертикального). Перечисленные в graphics.h text_just представляют собой имена для установки horiz и vert для передачи в settextjustify.

LEFT_TEXT 0 - horiz
CENTER_TEXT 1 - horiz и vert
RIGHT_TEXT 2 - horiz
BOTTOM_TEXT 0 - vert
TOP_TEXT 2 - vert

Если horiz равно LEFT_TEXT и direction равно HORIZ_DIR, то элемент x CP продвигается с помощью textwidth(string) после вызова outtext(string).

Функция settextjustify работает с текстами выводимыми функцией outtext и не может быть использована в текстовом режиме и с потокоориентированными функциями.
 
Возвращаемое значение

Если в settextjustify передается неправильный ввод, то graphresult возвратит -11, а текущее выравнивание текста останется без изменений.
 
Переносимость

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

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

/* прототип функции */
void xat(int x,int y);

/* горизонтальное выравнивание текста */
char *hjust[] = {"LEFT_TEXT",
"CENTER_TEXT",
"RIGTH_TEXT"};

/* вертикальное выравнивание текста */
char *vjust[] = {"BOTTOM_TEXT",
"CENTER_TEXT",
"TOP_TEXT"};

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

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

/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* цикл по выравниваниям */
for(hj=LEFT_TEXT;hj<RIGHT_TEXT;hj++)
for(vj=LEFT_TEXT;vj<RIGHT_TEXT;vj++)
{
cleardevice();
/* установить выравнивание текста */
settextjustify(hj,vj);
/* создать строку сообщений */
sprintf(msg,"%s %s",hjust[hi],vjust[vj]);
/* создать крестик на экране */
xat(midx,midy);
/* вывести сообщение */
outtextxy(midx,midy,msg);
getch();
}
/* очистка */
getch();
closegraph();
return 0;
}
/* функция рисует крестик по координатам x и y */
void xat(int x, int y)
{
line(x-4,y,x+4,y);
line(x,y-4,x,y+4);
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Защитный код Обновить