字典中可以再存放字典(嵌套存放),也可以存一个扩展记录,类名: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); }