创建注记图层要素

创建完文本注记TextElement后,可以选择以屏幕注记的形式加到屏幕上,也可以通过下面的方式转为注记图层要素:

IFeatureClass annocls = 获取注记图层

                    IDataset pDataset = annocls as IDataset;

                    ITransactions pTransactions = pDataset.Workspace as ITransactions;

                    pTransactions.StartTransaction();

                    IFDOGraphicsLayerFactory pFDOGLFactory = new FDOGraphicsLayerFactoryClass();

                    ILayer tmpLayer = pFDOGLFactory.OpenGraphicsLayer(pDataset.Workspace as IFeatureWorkspace, annocls.FeatureDataset, pDataset.Name);

                    IFDOGraphicsLayer pFDOGLayer = tmpLayer as IFDOGraphicsLayer;

                    IElementCollection pElementColl = new ElementCollectionClass();

                    pFDOGLayer.BeginAddElements();

            ////每新增100个提交下,最后再提交下。防止过多转换失败

            if ((pElementColl != null) && (pElementColl.Count == 100))

            {

                pFDOGLayer.DoAddElements(pElementColl, 0);

                pFDOGLayer.EndAddElements();

                pElementColl.Clear();

                pTransactions.CommitTransaction();

 

                pTransactions.StartTransaction();

                pFDOGLayer.BeginAddElements();

            }

 

                    if (pElementColl.Count > 0)

                        pFDOGLayer.DoAddElements(pElementColl, 0);

                    pFDOGLayer.EndAddElements();

                    pElementColl.Clear();

                    pTransactions.CommitTransaction();
原文地址:https://www.cnblogs.com/jhlong/p/5394335.html