Страница: 1 |
Страница: 1 |
Вопрос: Как сделать чтобы при нажатии на мыщь выводился
Добавлено: 12.12.08 07:56
Автор вопроса: Али
Всем добрый день! Подскажите пожалуйста?
Как сделать чтобы при нажатии на мыщь выводился специальное область выделения, ну например как на рабочем столе Windows, нажимаеш левую и не отпуская выделяешь объекты. Чтобы при нажатии и перемещении выводился пунктирный, прозрачный прымоугольник.
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #1
Добавлено: 12.12.08 12:12
рисовать вручную - нажал кнопку нарисовал начало прямоугольника - сдвинул - перерисовал - кстати - на чем VB6 or NET?
Номер ответа: 2
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #2
Добавлено: 12.12.08 13:28
Номер ответа: 3
Автор ответа:
Али
Вопросов: 27
Ответов: 43
Профиль | | #3
Добавлено: 15.12.08 07:48
А как сделать, чтобы объекты внутри области оказались выделенными?
Номер ответа: 4
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #4
Добавлено: 15.12.08 11:42
опять-же - вручную - определять область выделения (она у тебя есть), какие объекты туды входят и каким-то макаром выделять - толи цвет менять на время выделения толи еще както... например обрисовывать по контуру линиеей пунктирной красной...
Номер ответа: 5
Автор ответа:
Али
Вопросов: 27
Ответов: 43
Профиль | | #5
Добавлено: 16.12.08 13:44
Чтото не получается?
Номер ответа: 6
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #6
Добавлено: 16.12.08 15:18
что представляют собой эти выделяемые объекты?
желательно чтоб это были твои контролы, у которых будет какоето общее свойство - Center (центр объекта) - тогда ты можешь определить где он находиться - внутри выделенной области или нет (она-то прямоугольная), или же функция с параметром Restangle (твой регион) - возвращает True Or False, в зависимости от того где находиться центр, как и в предыдущем случае
Тут лучше сразу распределить свойства и события которые должны принадлежать контролу, а какие обрабатываться снаружи
В контроле создать переменную чтото вроде
Bool _Selected = False;
при попадании в выделенную область ставишь его в True, и перегружаешь событие Paint -
if (_Selected =True)
цвет = красный;
else
цвет = нормальный какойто
Тут можно поэксперемнтировать - как будет Paint отрабатывать - если плохо - то вызывать принудительно по каждому клику у каждого контрола функцию перекрашивания...
Номер ответа: 7
Автор ответа:
Али
Вопросов: 27
Ответов: 43
Профиль | | #7
Добавлено: 17.12.08 11:14
Я бы хотел этот область выделения вывести в объекте PictureBox и выделить некоторое область рисунка?
Номер ответа: 8
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #8
Добавлено: 17.12.08 13:06
блин...
напиши толком что ты делаешь, что у тебя в пикчербоксе? - ты там рисунки вставляешь? тогда геморой - попиксельно лазить по всему рисунку и напрямую с памятью работать... может тебе чтото нужно кардинально менять... что вообще хочешь сделать... я в свое время начал делать одну штуку, чтото такого: на форме находяться различные компоненты объекты - свои контролы, смысл которых сводиться к отображению какойто диаграммы, они соединяются линией связи, перемещать просто и обрабатывать события... правда проект только в начальном состоянии т.к. кризис и договор накрылся медным тазом
Номер ответа: 9
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #9
Добавлено: 17.12.08 13:09
вернее не диаграммы а схемы... т.к. юзерконтрол прямоугольный, то пришлось обрзку каждого элемента делать по русунку... - отсекал белый фон своим редактором и т.д. если интересно...
Номер ответа: 10
Автор ответа:
Али
Вопросов: 27
Ответов: 43
Профиль | | #10
Добавлено: 17.12.08 13:36
Пишу подробнее: Да нужно в объекте PictureBox был рисунок при выделении некоторый область этого рисунка в другом объекте DataGridView выделялся соответствующие данные.