Как в созданной таблице разместить в ячейках текст посредине?

Автор lavgirb, 03.10.24, 13:48:08

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

lavgirb

При создании таблицы весь вводимый в ячейки текст сдвинут влево.
Есть ли способ разместить текст посредине ячейки (отформатировать по центру)?
Спасибо.

VIO

Курсор должен стоять в выбранной (Выделенных) ячейке (ячейках)
Формат/Параметры абзаца/пиктограмма "по центру"

Петрович-47


Golovanev

Var
  parTextStyle : TextStyleParam;
  idOldStyleText : Word;
  par   : ParagraphParam;        // Параметры параграфа
  HeightText : Double;
  pText : Reference;
  sText  : WideString;

....

begin

if GetStyleParam(TEXT_STYLE,10,@parTextStyle,SizeOf(parTextStyle)) = 1 then
  begin


  parTextStyle.align := 1; // выравнивание 0-слева, 1-по центру,2-справа, 3 -на всю ширину
  parTextStyle.step := 5.0;


  idOldStyleText := AddStyle( TEXT_STYLE,   // тип стиля
                              @parTextStyle, // указатель на структуру параметров стиля
                              SizeOf(parTextStyle),  // размер структуры параметров
                              0); // 0 - создать вручную 1- создать из библиотеки


  par.x       := ...
  par.y       := ...
  par.ang     := 0;       // Угол наклона текста

  par.style   := idOldStyleText;       // Номер стиля текста (0 - стиль по умолчанию )
  par.hFormat := 2;       // Признак горизонтального форматирования ( 0 - нет форматирования,
                          // 1 - сужение текста, 2 - перенос на другую строку )


  par.vFormat := 1;       // признак вертикального форматирования ( 0 - нет форматирования,
                          // 1-изменение шага строк )
  par.height  := ...
  par.width   := ...
  Paragraph( Addr(par) ); // Параграф

  HeightText := 3.5;
 
  TextLineW( NEW_LINE,  // Значения свойств, устанавливаемые двоичными флагами
             HEIGHT,         // Тип свойства
             Addr(HeightText),       // Указатель на значение свойства
             PWideChar(sText) ); // Строка


  pText := EndObj;

  end;
+ Благодарностей: 1

Валерий Изранов

Цитата: lavgirb от 03.10.24, 13:48:08При создании таблицы
Таблицы в Компасе очень примитивные и ущербные.
Лучше использовать таблицы Excel с их богатейшими возможностями, в т.ч. и форматирование текста в ячейке.

lavgirb

VIO, Петрович-47, спасибо.
Но раздел "Программирование приложений" предполагает ответы программирующих для КОМПАС специалистов.
Интересует программное решение.

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

lavgirb

Golovanev, по горизонтали форматирует текст в ячейке таблицы эта конструкция
oText.TextLines(0).Align = ksAlignCenter ' 1Большое спасибо за наводку.