字典中可以再存放字典(嵌套存放),也可以存一个扩展记录,类名:MxDrawXRecord,详细参考:http://www.mxdraw.com/help/IMxDrawXRecord.htm,

下面代码,演示了,使用递归方式,如果去遍历字典中所有数据,c#如下

// 遍历字典使用的递归函数。
        public String GetAllDictionaryDataCall(MxDrawDictionary dict)
        {

            // 创建一个字典遍历器
            MxDrawDictionaryIterator iter = dict.NewIterator();
            String sOut = "";
            for (; !iter.Done(); iter.Step())
            {
                // 遍历到每个字典,取出名称.
                String sName = iter.Name();
                sOut = sOut + "," + sName;
                MxDrawMcDbObject obj = iter.GetObject();
                if (obj == null)
                    continue;
                if (obj.ObjectName == "McDbDictionary")
                {
                    MxDrawDictionary tmpDict = (MxDrawDictionary)obj;
                    sOut += "," + GetAllDictionaryDataCall(tmpDict);
                }
            }
            return sOut;
        }
        public void GetAllDictionaryData()
        {
            // 得到数据库对象.
            MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
            // 得到全局字典
            MxDrawDictionary dict = database.GetNamedObjectsDictionary();
            String sOut = GetAllDictionaryDataCall(dict);

            MessageBox.Show(sOut);
        }
12-23 05:34
查看更多