Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Неотложка
(Модераторы:
Алексей++
,
Sla
) > Тема:
Координаты от child controls
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Координаты от child controls (Прочитано 10602 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MasterMan342
Участник
Offline
Пол:
Координаты от child controls
«
:
03-06-2012 14:37 »
Доброе время суток.
Суть проблемы такова:
Пытаюсь создать свой контрол, он содержит внутри панель, и еще несколько элементов...
Мне необходимы координаты мыши относительно формы, в чем в принципе помогает событие mousemove.
Но при попадании курсора на дочерние элементы, прием координат прекращается т.к. управление дочерним элементам передается.
как мне уведомить родителя (т.е. сам контрол) о таком-же MouseMove событии дочерней панели?
(или вообще глобальные координаты, не обращая внимания на дочерние элементы)?
«
Последнее редактирование: 04-06-2012 04:41 от Алексей1153++
»
Записан
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
Re: Координаты от cildren control
«
Ответ #1 :
03-06-2012 14:44 »
Ставить хук на события мыши.
Записан
Не будите спашяго дракона.
Джаффар (Коша)
MasterMan342
Участник
Offline
Пол:
Re: Координаты от cildren control
«
Ответ #2 :
03-06-2012 14:52 »
Цитата: Finch от 03-06-2012 14:44
Ставить хук на события мыши.
Эм... не знаю что вы имели в виду
но я вроде нашел решение: В конструкторе контрола прописал цикл подписывающий все дочерние элементы котрола на обработчик события MouseMove контрола... вроде пашет, но на сколько это правильно?
Добавлено через 1 минуту и 45 секунд:
и еще вопрос в догонку) можно ли как-то получить список подписчиков на событие родительского элемента? блин, глупый наверно вопрос
«
Последнее редактирование: 03-06-2012 14:54 от MasterMan342
»
Записан
Dimka
Деятель
Команда клуба
Offline
Пол:
Re: Координаты от cildren control
«
Ответ #3 :
03-06-2012 16:59 »
Вот чувствую я, этот огород городится попросту от того, что не продумана нормальная архитектура. Раз элементы по умолчанию ведут себя определённым естественным образом, нужно 10 раз подумать, прежде чем пытаться заставлять их вести себя противоестественным образом.
Записан
Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Координаты от child controls
«
Ответ #4 :
04-06-2012 04:42 »
Цитата: MasterMan342 от 03-06-2012 14:37
как мне уведомить родителя (т.е. сам контрол) о таком-же MouseMove событии дочерней панели?
(или вообще глобальные координаты, не обращая внимания на дочерние элементы)?
перекинуть сообщения из контролов на родителя
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
MasterMan342
Участник
Offline
Пол:
Re: Координаты от child controls
«
Ответ #5 :
04-06-2012 06:16 »
Цитата: Алексей1153++ от 04-06-2012 04:42
Цитата: MasterMan342 от 03-06-2012 14:37
как мне уведомить родителя (т.е. сам контрол) о таком-же MouseMove событии дочерней панели?
(или вообще глобальные координаты, не обращая внимания на дочерние элементы)?
перекинуть сообщения из контролов на родителя
спасибо) вы прямо капитан-очевидность! для вас это может быть просто, но я не понимаю как это реализовать
и что вы вообще имели в виду... если winapi , то я с ним не знаком вообще... могли бы хоть небольшой примерчик дать? из 2/3 строчек кода...
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Координаты от child controls
«
Ответ #6 :
04-06-2012 06:44 »
MasterMan342
, противоречие: КО и "я не понимаю". Не понимаешь - спрашивай, и эмоции тут не помощник. Прежде всего прочитай _свои_ посты и попытайся из них понять, о чем идет речь и какой вопрос задан.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Координаты от child controls
«
Ответ #7 :
08-06-2012 05:04 »
Цитата: MasterMan342 от 04-06-2012 06:16
Цитата: Алексей1153++ от 04-06-2012 04:42
Цитата: MasterMan342 от 03-06-2012 14:37
как мне уведомить родителя (т.е. сам контрол) о таком-же MouseMove событии дочерней панели?
(или вообще глобальные координаты, не обращая внимания на дочерние элементы)?
перекинуть сообщения из контролов на родителя
спасибо) вы прямо капитан-очевидность! для вас это может быть просто, но я не понимаю как это реализовать
и что вы вообще имели в виду... если winapi , то я с ним не знаком вообще... могли бы хоть небольшой примерчик дать? из 2/3 строчек кода...
для меня это тоже непросто. Это же надо сесть, написать, а я ленивый ) Могу задать направление
1) обрабатываешь сообщение нажатия в контроле (WM_LBUTTONDOWN , WM_LBUTTONUP)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms645607(v=vs.85).aspx
2) преобразуешь координату из клиентской области чайла в клиентскую область родителя
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633510(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/aa932750.aspx
3) затем при помощи SendMessage перенаправляешь сообщение родителю (уже с его координатами)
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Вад
Команда клуба
Offline
Пол:
Re: Координаты от child controls
«
Ответ #8 :
08-06-2012 07:55 »
Алексей1153++
, судя по остальным темам, у топикстартера дотнет, там, скорее всего, достаточно готовый эвент для нотификаций использовать. Гугл это скорее подтверждает (код смотрел по диагонали, за качество решений не скажу):
http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/9ec81c19-7465-47a6-9c85-a87c1fa5e949
«
Последнее редактирование: 08-06-2012 07:57 от Вад
»
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Координаты от child controls
«
Ответ #9 :
08-06-2012 18:22 »
Вад
, ну он упомянул WinAPI , вот у меня рефлекс и сработал ))
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Неотложка
(Модераторы:
Алексей++
,
Sla
) > Тема:
Координаты от child controls
Загружается...