function GetAllComment() { var ss = mxOcx.NewSelectionSet(); var spFilte = mxOcx.NewResbuf(); // 把批注对象,当着过滤条件. spFilte.AddStringEx( "MxComment,MxDrawXCustomEntity" , 5020); // 得到图上,所有批注对象. ss.Select2(5, null , null , null ,spFilte); // 遍历每个文字. var bFind = false ; for ( var i = 0; i < ss.Count; i++) { var ent = ss.Item(i); if (ent == null ) continue ; if (ent.ObjectName == "McDbComment" ) { // 得到批注对象。 mxOcx.Prompt(ent.Text); var mtxt = mxOcx.NewEntity( "IMxDrawMText" ); // 把多行文字,变成单行文字,去掉里面的控制符。 mtxt.Contents = ent.Text; // 打碎对像. var ret = mtxt.GetProp( "ExplodeEx" ); // 得到打碎后对像里面的文字。 var s; for ( var j = 0; j < ret.Count;j++) { var obj = ret.AtObject(j); if (obj == null ) continue ; if (s == null ){ // s = obj.TextString; } else { var s = '' ; s += obj.TextString; } } mxOcx.Prompt(s); // mxOcx.Prompt(ent.Position.x.toString()); mxOcx.Prompt(ent.Position.y.toString()); mxOcx.Prompt(ent.BasePoint.x.toString()); mxOcx.Prompt(ent.BasePoint.y.toString()); } else if (ent.ObjectName == "MxDrawXCustomEntity" ) { // 得到批注对象。 var stp = ent.GetPoint( "First" ); var ept = ent.GetPoint( "BasePoint" ); var txt = ent.GetString( "Text" ); mxOcx.Prompt(txt); // mxOcx.Prompt(stp.x.toString()); mxOcx.Prompt(stp.y.toString()); mxOcx.Prompt(ept.x.toString()); mxOcx.Prompt(ept.y.toString()); } } } |