文本复合风格类。 该类主要用于对标签专题图中标签的文本内容进行风格设置。通过该类用户可以使标签的文字显示不同的风格,比如文本 “喜马拉雅山”,通过本类可以将前三个字用红色显示,后两个字用蓝色显示。
命名空间:
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
SuperMap.Mapping..::.MixedTextStyle