Хочу повесить на кнопку макрос создающий линию с определенными свойствами (цвет, толщина).
Но в документации по API есть примеры создания только с жеско заданными координатами, а хотелось бы создавать линию с помощью мышки.
Есть один пример который, как мне кажется, смог бы прояснить ситуацию. А именно методы TFlex.PickPointMouseMove. Но я не могу его запустить.
Этот пример:
При попытке компиляции вылазит ошибка:
'Модуль 1' (23,51) : ошибка CS0118: "TFlex.PickPointMouseMove" является "тип", но используется как "переменная"
Правильно ли я выбрал пример? Если да, то в чем ошибка? Если нет, то куда копать?
Но в документации по API есть примеры создания только с жеско заданными координатами, а хотелось бы создавать линию с помощью мышки.
Есть один пример который, как мне кажется, смог бы прояснить ситуацию. А именно методы TFlex.PickPointMouseMove. Но я не могу его запустить.
Этот пример:
Код |
---|
using System; using System.Windows.Forms; using TFlex; using TFlex.Model; using TFlex.Model.Model2D; using TFlex.Model.Model3D; namespace NewMacroNamespace { public class NewMacroClass { public static void PickPoint() { PickPointParameters par = new PickPointParameters(); //выбор только размеров SelectionFilter filter = new SelectionFilter(); filter.Enable(ObjectType.Dimension); par.Filter = filter; par.Prompt = "Выбрать размер"; par.MouseMove += new TFlex.PickPointMouseMove(PickPointMouseMove);//событие перемещения мыши //строка 23!! PickPointResult res = TFlex.Application.PickPoint(par);//получить точку в одном из видов активного документа string mess = "Объект не выбран"; if (res.SelectedObject != null) { mess = string.Empty; string val = string.Empty; ObjectProperty[] arr = res.SelectedObject.GetProperties();//массив свойств выбранного объекта for (int i = 0; i < arr.Length; i++) { switch(arr[i].Type) { case (ObjectPropertyType.IntProperty): val = res.SelectedObject.GetIntProperty(arr[i].Name).Value.ToString(); break; case (ObjectPropertyType.RealProperty): val = res.SelectedObject.GetRealProperty(arr[i].Name).Value.ToString(); break; case (ObjectPropertyType.TextProperty): val = res.SelectedObject.GetTextProperty(arr[i].Name); break; } mess += arr[i].Name + ": " + val +"\r\n"; } } MessageBox.Show(mess); } } } |
'Модуль 1' (23,51) : ошибка CS0118: "TFlex.PickPointMouseMove" является "тип", но используется как "переменная"
Правильно ли я выбрал пример? Если да, то в чем ошибка? Если нет, то куда копать?
Да пребудет с тобой Sila.