Как получить направление стрелки выноски на msoShapeRoundedRectangularCallout? - PullRequest
0 голосов
/ 11 декабря 2018

Я сохраняю изображения форм в презентации и не могу понять, как определить расстояние и направление стрелки выноски на прямоугольнике с закругленными углами с помощью выноски.MSOautoshape 106: желтый угол - верхнее левое положение, но сохраненное изображение имеет смещение из-за выноски.

enter image description here

var tempString = shape.AutoShapeType.ToString();
if ( tempString.Contains("Callout")){
Debug.WriteLine(shape.Callout.Angle);
}

Этот код выдает ошибкучто он работает только с выносками "LINE".Я вроде в недоумении, как решить эту проблему.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 11 декабря 2018

Свойство Callout действительно действительно только для "линейных выносок":

enter image description here

Форма, показанная в вопросе, используетсвойство Adjustments для чтения / управления настройками Shape:

Word.Shape shp = ActiveDocument.Shapes[1];
Word.Adjustments = adj = shp.Adjustments;
for (int p = 1; p<=adj.Count; p++)
{
    Debug.Print(adj.Item[p].ToString());
}

Необходимо поэкспериментировать с конкретными Shape и различными сгенерированными настройками, чтобы определить, что означают различные значения.В моих тестах с указанной формой я получил три значения регулировки.Первый, по-видимому, указывает угол / смещение выноски, второй - длину / расстояние до прямоугольника, а третий - определить, который я не смог определить (был статичным).

Из справочника по языку объектной модели:

Тип настройки Допустимые значения

Линейный (горизонтальный или вертикальный))

Обычно значение 0.0 представляет левый или верхний край фигуры, а значение 1.0 представляет правый или нижний край фигуры.Допустимые значения соответствуют корректным корректировкам, которые вы можете внести в форму вручную.Например, если вы можете тянуть ручку регулировки только наполовину по фигуре вручную, максимальное значение для соответствующей корректировки будет 0,5.Для таких фигур, как выноски, где значения 0.0 и 1.0 представляют пределы прямоугольника, определенные начальными и конечными точками линии выноски, отрицательные числа и числа больше 1.0 являются допустимыми значениями.

Радиальная

Значение регулировки 1,0 соответствует ширине формы.Максимальное значение составляет 0,5, или половина пути по фигуре.

Угол

Значения выражены в градусах.Если вы укажете значение вне диапазона - от 180 до 180, оно будет нормализовано, чтобы находиться в этом диапазоне.

...