e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
104 lines
6.1 KiB
Markdown
104 lines
6.1 KiB
Markdown
---
|
||
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 */
|