Вежливость-главное оружие
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
|
||||||
1 | ||||||
Привязка курсора к точке10.09.2013, 21:48. Показов 2439. Ответов 9
Метки нет (Все метки)
Здравствуйте!
Сделал простую привязку к точке:
Когда не выбран никакой примитив, то привязка работает. А когда я рисую к примеру линию, то НЕТ. Не подскажите, почему? Заранее спс!
0
|
10.09.2013, 21:48 | |
Ответы с готовыми решениями:
9
Что это жесткая привязка к точке входа, физическое смещение в файле, окрестность точки входа в файл, привязка? Привязка к точке, WPF, графика Привязка текстуры к определенной точке сферы Привязка курсора к сетке |
39 / 37 / 8
Регистрация: 01.08.2013
Сообщений: 106
|
|
11.09.2013, 08:38 | 2 |
А кто родитель у Pencil, Line и Arch? Я так понял собственные классы? Просто у меня Anchor это ни фига не функция =). И mouse тоже не совсем ясно кто таков будет.
0
|
Вежливость-главное оружие
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
|
|
11.09.2013, 20:54 [ТС] | 3 |
0
|
Вежливость-главное оружие
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
|
|||||||||||
11.09.2013, 22:19 [ТС] | 4 | ||||||||||
Если точка входит в облась КОНЦА либо НАЧАЛА какого либо примита, то я возвращаю соответственно координаты конда или начала. Иначе возвращаю точку (-1, -1)
Сейча вот обнаружил еще одну проблему, когда нарисовано многго примитивов, то очень медленно работает отрисовка, именно из-за этой привязки. Без нее все ОК. Лагов вообще нету. Как можно оптимизировать? Я делаю простим перебором Добавлено через 1 час 9 минут Народ, не игнореьте плз.
0
|
208 / 164 / 29
Регистрация: 11.09.2013
Сообщений: 445
|
|
12.09.2013, 00:59 | 5 |
что-то не могу понять задачу. что значит привязка? что должно произойти, чего не происходит?
насчет быстродействия - взгляните на Anchor, работает ну ооочень медленно. брутальный перебор - страшная штука. попробуйте добавить немного математики. например, для линии достаточно представить ее в виде прямоугольника и проверить, где находится курсор. это буквально 5-6 строк кода и несколько умножений-делений. копайте в сторону уравнения прямой. еще я бы в случае неудачи возвращал null - это быстрее создается (не вызывается лишних конструкторов) и проверяется (хотя и в Вашем случае можно не проверять сразу оба поля Х и У точки)
0
|
39 / 37 / 8
Регистрация: 01.08.2013
Сообщений: 106
|
|
12.09.2013, 08:45 | 6 |
Если сделали объекты свои, так уж до конца доделайте, дайте им Событие на нажатие мыши, Control есть у них свой? Если нет, то лучше и контрол дать, потом привязку дать проще.
Вообщем, если что могу вечерком скинуть примерчик, как это сделать можно.
0
|
Вежливость-главное оружие
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
|
|
12.09.2013, 23:56 [ТС] | 7 |
Буду очень признателен.
Добавлено через 6 часов 32 минуты Когда я вожу по полю, передаю методу item.Anchor() координаты курсора. В самом методе делаю проверку, принадлежит ли эта точка прямоугольнику вокруг НАЧАЛЬНОЙ и КОНЕЧНОЙ точек примитива. Если ДА - Ставлю курсор в эту точку, иначе возвращаю Point(-1,-1) Дык да, я поэтому и прошу помощь. чесно сказать мало что понял. какая от этого выгода? дело в том что null не получаеься вернуть. компилятор ругается : "Cannot convert null to 'System.Drawing.Point' because it is a non-nullable value type" к этому и стремлюсь. самого данный вариант дико раздражает. Был бы очень признателен, за возможность взглянуть на эти 5-6 строк кода.
0
|
39 / 37 / 8
Регистрация: 01.08.2013
Сообщений: 106
|
|||||||||||
13.09.2013, 08:19 | 8 | ||||||||||
Накидал небольшой пример, где чисто нажатие мыши ловится, если нужно наведение или перемещение объекта, такой же способ, только события другие.
Класс:
0
|
208 / 164 / 29
Регистрация: 11.09.2013
Сообщений: 445
|
||||||
13.09.2013, 09:34 | 9 | |||||
Базовый класс. Наследник реализует прорисовку (например)
1
|
Вежливость-главное оружие
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
|
|
14.09.2013, 14:49 [ТС] | 10 |
sezada, спс большое привязка и вправду работает быстро.
Сейчас попробую прикрутить выделение мышью onicdr.
0
|
14.09.2013, 14:49 | |
14.09.2013, 14:49 | |
Помогаю со студенческими работами здесь
10
Привязка объекта к точке с одной стороны и к курсору с другой Привязка открытия калькулятора Windows к местоположению курсора Найти производную функции u в точке М по направлению, идущему от этой точки к точке P Чему равен потенциал в точке A, если в точке B он составляет 100 В Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |