--- title: "Text - Создать строку текста в графическом документе" type: guide api: [api7] tags: [guide, api7, text] sources: - text.html --- *API экспортных функций > Функции работы с графическим документом  > Простановка текстовых надписей  > Функции работы с текстовыми надписями и таблицами * ## Text - Создать строку текста в графическом документе Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksText. Синтаксис: ``` reference Text (double x, double y, double ang, double hStr, double ksuStr, unsigned int bitVector, char *s); Входные параметры: x, y - координаты точки привязки текста, ang - угол наклона текста, hStr - высота символов, ksuStr - сужение текста, bitVector - битовый вектор, задающий признаки начертания текста, s - строка символов. Признаки начертания текста... Возвращаемое значение: указатель на текст - в случае удачного завершения, 0 - в случае неудачи. ``` Примечание: 1. Строка символов может включать спецсимвол. Например, чтобы задать 10 градусов, необходимо указать значение "10&01". Таблица спецсимволов размещена в файле SDK\NumbSymb.frw. 2. Не рекомендуется использовать в строке символы, которые могут идентифицироваться как управляющие символы: @ $ & ; ~ ^ #, кроме случаев, когда эти символы используются в строке именно как управляющие. 3. Использование управляющих символов: – отклонение: $ верхнее отклонение; нижнее отклонение $ – дробь: $d числитель ; знаменатель $ – спецсимвол: &nn номер спецсимвола 0...99. 4. bitVector формируется с помощью логической операции |. Поддерживаются определения: – ITALIC_ON (включить наклон), – BOLD_ON (включить утолщение), – UNDERLINE_ON (включить подчеркивание). См. ltdefine.h. 5. При использовании Unicode следует использовать функцию TextW. 6. При использовании внутри таблицы функция Text не возвращает указатель на текст— в случае успешного завершения возвращается 1. ## Функции работы с текстовыми надписями и таблицами Функции данного раздела обеспечивают построение и обработку текстовых надписей (простых, сложноструктурированных, форматированных). GetTextLength - Получить длину текста GetTextLengthW - Получить длину текста (Unicode) GetTextLengthFromReference - Получить длину текста, заданного указателем ksConvertTextToCurve - Преобразовать указанный текст в кривые ksEditTextLine - Вызвать диалог редактирования сложноструктурированного текста ksEditTextLineW - Вызвать диалог редактирования сложноструктурированного текста (Unicode) ksGetTextAlign - Получить тип привязки текста ksSetTableColumnText - Задать текст ячейки таблицы ksSetTextAlign - Установить тип привязки текста ksSetTextLineAlign - Установить выравнивание текста Paragraph - Начать параграф Text - Создать строку текста в графическом документе TextW - Создать строку текста в графическом документе (Unicode) TextLine - Задать подстроку параграфа текста TextLineW - Задать подстроку параграфа текста (Unicode) ## Text, TextLine, Paragraph - Пример использования void Text_Example (void) { reference p; // Простой текст Text (30 , 90, 0, 5, 1, 0, ”Простой текст”); Text (30 , 80, 0, 5, 1, 0,”Пример... дроби$dЧислитель;Знаменатель$”); Text (30 , 70, 0, 5, 1, 0, ”Пример... отклонений 20$0.5;-0.3$”); Text (30 , 60, 0, 5, 1, 0, ”Пример... спецсимвола &32”); // Структурированный текст ParagraphParam par; par.x = 30; par.y = 40; par.ang = 0; par.hFormat = 0; par.vFormat = 0; par.height = 25; par.width = 20; int j=2; p = Paragraph (&par); TextLine (NEW_LINE ,0,0 , ”Первая строка”); //числитель, наклон, высота дроби в 1.5 раза меньше высоты текста TextLine (NUMERATOR|ITALIC_ON,FRACTION_TYPE ,&j , ”Числитель”); //знаменатель, утолщение TextLine (DENOMINATOR|BOLD_ON,0 ,0 , ”Знаменатель”); //конец дроби, снятие утолщения,снятие наклона TextLine (END_FRACTION|BOLD_OFF | ITALIC_OFF, 0, 0 , ”4444”); TextLine (NEW_LINE ,0,0 , ”Вторая строка”); int tip = 65; //спецзнак шероховатость TextLine (SPECIAL_SYMBOL ,SPECIAL, &tip , ”Rz80”); //конец спецзнака TextLine (SPECIAL_SYMBOL_END ,0, 0 , ”222”); EndObj(); }; /* Text_Example */