Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Выделение текста цветом
 
Всем привет! Хочу выборочно в нескольких ячейках таблицы поменять цвет текста. Пробовал Text.Color, но текст внутри таблицы не наследует Text, а представлен просто строками и индексацией ячеек. Заранее спасибо
 
Паша Маргинал,

Пример изменения цвета текста таблицы:
Код
using TFlex.Model;
using TFlex.Model.Model2D;
using System.Drawing;

namespace Test
{
    public class Class16
    {
        public static void Run()
        {
            Document document = TFlex.Application.ActiveDocument;

            if (document != null)
            {
                document.BeginChanges("");

                Table table;
                string pattern = "Text";
                Position pos1;
                Position pos2;

                foreach (RichText text in document.GetTexts())
                {
                    text.BeginEdit();

                    if (text.TableOnly)
                    {
                        table = (Table)text.GetFirstTable();

                        for (int i = 0; i < table.CellCount; i++)
                        {
                            if (table.GetCellText((uint)i) == pattern)
                            {
                                var color = Color.FromArgb(255, 0, 0); // Red color

                                pos1 = new Position(0, 0, i);
                                pos2 = new Position(pattern.Length, 0, i);
                                text.SetSelection(pos1, pos2);

                                CharFormat format = text.CharacterFormat;
                                format.Color = (uint)(color.R << 8 | color.G << 16 | color.B << 24);
                                format.DefaultColor = false;
                                format.DefaultFontSize = true;
                                text.CharacterFormat = format;
                                break;
                            }
                        }
                    }

                    text.EndEdit();
                }

                document.EndChanges();
            }
        }
    }
}


если таблица вложена в параграф, используйте дополнительный метод "GetNextTable" для перебора.
Изменено: Vite - 03.12.2017 06:53:59
T-FLEX CAD 17.1.6.0
 
Спасибо большое!
Страницы: 1