Вы можете изменить размер шрифта текстового блока, используя автоматизацию, если текст превышает размер фигуры. Я обнаружил, что следующие работы.
Откройте форму фигуры (Окно-> Показать таблицу) и добавьте пользовательский раздел (Вставка-> Раздел-> Пользовательские ячейки). Поместите эту формулу в ячейку значения для пользователя.Row_1:
= Min(1, высота / TextHeight (ЬЬеТехЬ, ширина)))
После изменения текста формы получите значение пользовательской ячейки. в c #:
двойной масштаб = shape.get_CellsSRC((короткий)IVisio.VisSectionIndices.visSectionUser, (короткий)IVisio.VisRowIndices.visRowUser, (коротко)IVisio.VisCellIndices.visUserValue).ResultIU;
Затем установите шрифт и TextMargins (для любых, которые не являются нулевыми) с помощью следующего (при условии, что нормальный размер шрифта равен 12, а левое поле равно 4pt .:
shape.get_CellsSRC((короткий)IVisio.VisSectionIndices.visSectionCharacter, 0, (короткий)IVisio.VisCellIndices.visCharacterSize).Формула U = (шкала * 12).ToString () + "pt";
shape.get_CellsSRC((короткий)IVisio.VisSectionIndices.visSectionObject, (короткий)IVisio.VisRowIndices.visRowText, (короткий)IVisio.VisCellIndices.visTxtBlkLeftMargin).Формула U = (шкала * 4).ToString () + "pt";