文本复合风格类。 该类主要用于对标签专题图中标签的文本内容进行风格设置。通过该类用户可以使标签的文字显示不同的风格,比如文本 “喜马拉雅山”,通过本类可以将前三个字用红色显示,后两个字用蓝色显示。

命名空间:  SuperMap.Mapping
程序集:  SuperMap.Mapping (in SuperMap.Mapping)
版本: dll

语法

C#
public class MixedTextStyle

备注

对同一文本设置不同的风格实质上是对文本的字符进行分段,同一分段内的字符具有相同的显示风格。对字符分段有两种方式,一种是利用分隔符对文本进行分段;另一种是根据分段索引值进行分段。

1.利用分隔符对文本进行分段

比如用“&”作分隔符,它将文本“5&109”分为“5”和“109”两部分,在显示时,“5”和分隔符“&”使用同一个风格,字符串“109”使用相同的风格。

2.利用分段索引值进行分段

文本中字符的索引值是以0开始的整数,比如文本“珠穆朗玛峰”,第一个字符(“珠”)的索引值为0,第二个字符(“穆”)的索引值为1,以此类推;当设置分段索引值为1,3,4,9时,字符分段范围相应的就是(-∞,1),[1,3),[3,4),[4,9),[9,+∞),可以看出索引号为0的字符(即“珠” )在第一个分段内,索引号为1,2的字符(即“穆”、“朗”)位于第二个分段内,索引号为3的字符(“玛”)在第三个分段内,索引号为4的字符(“峰”)在第四个分段内,其余分段中没有字符。

示例

以下代码示范了对标签专题图中标签的文本内容进行风格设置,并将专题图添加到图层。 假设已经有m_mapControl对象。假设打开了一个工作空间workspace对象,工作空间中存在名为 World 的数据源。
CopyC#
 private void ButtonMixedTextStyle_Click(Object sender, EventArgs e)
{
    //实例化一个标签专题图对象
    ThemeLabel theme = new ThemeLabel();
    theme.LabelExpression = "Capital";

    //根据指定的文本风格和分隔符构造一个文本复合风格对象
    MixedTextStyle m_mixedTextStyle = new MixedTextStyle();
    m_mixedTextStyle.SplitIndexes = new Int32[] { 1 };

    TextStyle[] textStyles = new TextStyle[2];

    textStyles[0] = new TextStyle();
    textStyles[0].ForeColor = Color.Red;
    textStyles[0].FontHeight = 8;
    textStyles[0].Bold = true;
    textStyles[0].Shadow = true;
    textStyles[1] = new TextStyle();
    textStyles[1].ForeColor = Color.Blue;
    textStyles[1].FontHeight = 8;
    textStyles[1].Bold = true;
    textStyles[1].Underline = true;
    m_mixedTextStyle.Styles = textStyles;

    //设置标签专题图统一的文本复合风格
    theme.UniformMixedStyle = m_mixedTextStyle;

    //将专题图添加到专题图层
    Layer layertheme = mapControl1.Map.Layers.Add(m_datasetVector, theme, true);
    m_mapControl.Map.Refresh();

}

继承层次

System..::.Object
  SuperMap.Mapping..::.MixedTextStyle

请参见