文字设置右对齐时,总是失败或者无效,多次尝试和网上查找才发现是AlignmentPoint 属性设置的问题;
当HorizontalMode 为TextHorizontalMode.TextLeft时,不要设置AlignmentPoint 属性,否则报错;
而需要文字右对齐,或者居中对齐时,则必须设置AlignmentPoint 属性;
示例代码如下:
DBText dimText = new DBText();
dimText.TextStyleId = _fontId;
dimText.TextString = strStation;
dimText.HorizontalMode = bLeft ? TextHorizontalMode.TextRight : TextHorizontalMode.TextLeft;
dimText.Position = ptText;
if (dimText.HorizontalMode != TextHorizontalMode.TextLeft)
{
dimText.AlignmentPoint = ptText; //
}
//dimText.AlignmentPoint = ptText;
dimText.Height = 3;
dimText.ColorIndex = 7;
dimText.Layer = DimentionLayer;
dimText.Rotation = bLeft ? dRot + Math.PI : dRot;
dimText.WidthFactor = 0.7;
dimText.XData = resBuff;