09/10/2013
Получение фрагментов текста из примитива MText
Используем метод “ExplodeFragments”, как показано ниже в коде, для разбивки текстовой строки MText на фрагменты. Функция обратного вызова, которая передается методу “ExplodeFragments” вызывается для каждого фрагмента текста примитива MText.
Код - C#: [Выделить]
- static public MTextFragmentCallbackStatus
- Fragments(MTextFragment Param, object data)
- {
- string strText = Param.Text;
- // Покажем фрагмент текста
- Application.ShowAlertDialog(strText);
- return MTextFragmentCallbackStatus.Continue;
- }
- [CommandMethod("ExplodeFragments")]
- static public void ExplodeFragments()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Editor ed = doc.Editor;
- PromptEntityOptions options =
- new PromptEntityOptions("\nВыберите Mtext");
- options.SetRejectMessage("\nВы выбрали не Mtext");
- options.AddAllowedClass(typeof(MText), false);
- PromptEntityResult acSSPrompt = ed.GetEntity(options);
- if (acSSPrompt.Status != PromptStatus.OK)
- return;
- using (Transaction tr = db.TransactionManager.StartTransaction())
- {
- try
- {
- MText text = tr.GetObject(acSSPrompt.ObjectId,
- OpenMode.ForRead) as MText;
- text.ExplodeFragments(Fragments, "Test");
- tr.Commit();
- }
- catch
- {
- tr.Abort();
- }
- }
- }
Источник: http://adndevblog.typepad.com/autocad/2012/06/getting-fragment-from-mtext-object.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=238
Опубликовано 09.10.2013Отредактировано 09.10.2013 в 10:54:31