Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Denis от 15-02-2016, 00:59:34

Название: Надписи рядом с курсором при выборе объектов.
Отправлено: Denis от 15-02-2016, 00:59:34
Здравствуйте!
Возникло два вопроса:
1)Я хочу,чтобы при выборе объектов рядом с курсором была некая информация о том,какие объекты следует выбрать.
Обязательно ли это делать через  PromptSelectionOptions? Или есть просто возможность добавить текст,без отслеживания и проверки того,что было выбрано?
2)Иногда в Автокаде можно выбирать необходимый вариант из списка вариантов.То есть возникает табличка с вариантами, при помощи клавиш "вверх-вниз" можно между ними перемещаться,а Enter помогает выбрать нужное.Как это называется?
Заранее спасибо и извинения за вопросы)
Название: Re: Надписи рядом с курсором при выборе объектов.
Отправлено: Александр Ривилис от 15-02-2016, 01:04:55
1)Я хочу,чтобы при выборе объектов рядом с курсором была некая информация о том,какие объекты следует выбрать.
Обязательно ли это делать через  PromptSelectionOptions? Или есть просто возможность добавить текст,без отслеживания и проверки того,что было выбрано?
Напиши в сообщении, что следует выбирать (например, "Выберите отрезки и полилинии: "). Думаю, что для человека знакомого с AutoCAD, этого будет достаточно.
2)Иногда в Автокаде можно выбирать необходимый вариант из списка вариантов.То есть возникает табличка с вариантами, при помощи клавиш "вверх-вниз" можно между ними перемещаться,а Enter помогает выбрать нужное.Как это называется?
Я не знаю как это называется. Запиши видео (при помощи Screencast, как у меня написано в подписи) - тогда будет понятно о чём идёт речь.
Название: Re: Надписи рядом с курсором при выборе объектов.
Отправлено: Denis от 15-02-2016, 01:13:05
1)Так я и хочу просто добавить текст.Но при помощи
Код - C# [Выбрать]
  1. PromptSelectionOptions opts1 = new PromptSelectionOptions();
  2.             opts1.MessageForAdding = "Choose polylines ";
Это не получается.Просто тишина.
2)Добавил картинку.В приложении.Такого плана меню хочу сделать.
Название: Re: Надписи рядом с курсором при выборе объектов.
Отправлено: Александр Ривилис от 15-02-2016, 02:10:22
Код - C# [Выбрать]
  1. [CommandMethod("GetSelection")]
  2. public void GetSelection()
  3. {
  4.   Document doc = Application.DocumentManager.MdiActiveDocument;
  5.   if (doc == null) return;
  6.   Editor ed = doc.Editor;
  7.   SelectionFilter filter =
  8.     new SelectionFilter (
  9.       new TypedValue[] {
  10.         new TypedValue((int)DxfCode.Start, "LINE,ARC,*POLYLINE")
  11.       }
  12.   );
  13.   PromptSelectionOptions opt = new PromptSelectionOptions();
  14.   opt.MessageForAdding = "Выберите отрезки, дуги и полилинии:";
  15.   opt.MessageForRemoval = "Удалите отрезки, дуги и полилинии:";
  16.   // ed.PromptingForSelection += ed_PromptingForSelection;
  17.   PromptSelectionResult res = ed.GetSelection(opt, filter);
  18.   // ed.PromptingForSelection -= ed_PromptingForSelection;
  19.   if (res.Status == PromptStatus.OK)
  20.   {
  21.     ed.WriteMessage("\nВыбрали {0} объектов", res.Value.Count);
  22.   }
  23. }
  24.  
  25. [CommandMethod("GetMenu")]
  26. public void GetMenu()
  27. {
  28.   Document doc = Application.DocumentManager.MdiActiveDocument;
  29.   if (doc == null) return;
  30.   Editor ed = doc.Editor;
  31.   PromptKeywordOptions opt =
  32.     new PromptKeywordOptions("\nВыберите число [Один/Два/Три]: ", "Один Два Три");
  33.   PromptResult res = ed.GetKeywords(opt);
  34.   if (res.Status == PromptStatus.OK)
  35.   {
  36.     ed.WriteMessage("\nВыбрали: {0}", res.StringResult);
  37.   }
  38. }

Название: Re: Надписи рядом с курсором при выборе объектов.
Отправлено: Denis от 15-02-2016, 02:21:17
Александр,спасибо большое!
Очень сильно помогли!
Название: Re: Надписи рядом с курсором при выборе объектов.
Отправлено: Александр Ривилис от 15-02-2016, 02:27:19
Александр,спасибо большое!
Очень сильно помогли!
Пожалуйста! :) Отметь как Решение если всё устраивает.