Помоги разобраться, ато сойду с ума!!
Задача такова, надо отобразить текстовый елемент на компановке в определенном месте на карте, когда текстовка привязана за левый нижний угол.
Пишу такой код:
string outputText = "Площа за\r\nдокументами"; //вот моя текстовка
ITextElement pMElement = new TextElementClass();
IPoint pPoint = new PointClass();
pPoint.PutCoords(16, 19); //вот мои координаты для установки текста
pMElement.Text = outputText;
ITextSymbol pTxtSymbol = pMElement.Symbol;
pTxtSymbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHACenter; //вот я выравниваю текст по центру
pTxtSymbol.VerticalAlignment = esriTextVerticalAlignment.esriTVABottom;
pMElement.Symbol = pTxtSymbol;
(pMElement as IElementProperties3).AnchorPoint = esriAnchorPointEnum.esriBottomLeftCorner; //вот я цепляюсь за левый нижний угол
IElementProperties3 pE = (IElementProperties3)pMElement;
(pMElement as IElement).Geometry = pPoint;
IGraphicsContainer pGcontainer = (IGraphicsContainer)pPage;
pGcontainer.AddElement((pMElement as IElement), 0);
и вроде как все красиво и правильно, но когда смотрю результат то мои координаты 16, 19 соответствую не левому нижмему анчору а среднему нижнему анчору.
Что удивило, так это когда я ставлю
pTxtSymbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft
то тогда нормально попадаю в левый нижний анчор, но меня это не устраивает, мне надо чтобы текст был выровнен от центра. Помогите решить как сделать чтобы текст от центра выравнивался а координаты соответсвовали нижнему левому анчору. Спасибо.