![]() |
|
|
![]()
|
|
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Тогда сложнее. Из OnMouseMove нужно опрашивать окно под курсором, не желает ли оно принять объект. Для этого нужно ввести свое сообщение, в wParam, lParam можно передать дополнительные параметры, а в случае отказа должен возвращаться 0, чтобы окна, не обрабатывающие твое сообщение, адекватно реагировали. Но, как ты понимаешь, совсем чужое окно твое сообщение не примет.
-------------------- ... |
|||
|
||||
| OverBug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 13.4.2006 Где: г.Пенза, Пензенск ой обл. Репутация: нет Всего: 1 |
интересно... но ведь под курсором то окно которое я тащу.... перетаскиваю.... как получить то которое ниже?
и если я буду проверять на области в которых дозволено бросать объект.... надо ведь еще и массив этих координат не только хранить, но и поддерживать в актуальном состоянии. а как это лучше сделать? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Нет, если ты спросишь WindowFromPoint, то тебе вернут окно верхнего уровня (не Child). Если хочешь получить child, нужно опрашивать ChildWindowFromPoint.
Каждое окно, которое может принять объект, пусть и хранит само свои области. -------------------- ... |
|||
|
||||
| OverBug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 13.4.2006 Где: г.Пенза, Пензенск ой обл. Репутация: нет Всего: 1 |
понятненько.... спасибо.... как будет готова полная версия выложу ее на всеобщее обозрение....
|
|||
|
||||
| CityAC |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 3.11.2006 Где: Украина Горловка Репутация: 1 Всего: 1 |
Тоже столкнулся с такой задачей.
Прочитал эту ветку. Никак не могу понять. Если нужно таскать кнопку, то она же не реагирует на события мыши прописанные для диалога.
Так как же таскать кнопки. Что для каждой кнопки нужно писать свой обработчик, а если у меня из 32 шт? --------------------
Вижу цель, не вижу припятствий. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Лови в PreTranslateMessage диалога.
-------------------- ... |
|||
|
||||
| CityAC |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 3.11.2006 Где: Украина Горловка Репутация: 1 Всего: 1 |
Как из pMsg извлечь информацию кто послал сообщение, т.е. какая кнопка была нажата? --------------------
Вижу цель, не вижу припятствий. |
|||
|
||||
| CityAC |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 3.11.2006 Где: Украина Горловка Репутация: 1 Всего: 1 |
Я сделал так
но получается нужно этот код прописывать для всех кнопок, которые планируешь таскать. Наверно все таки нужно вытягивать инфу из pMsg/ Подскажите как --------------------
Вижу цель, не вижу припятствий. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
В сообщении нет такой информации.
Но ты элементарно можешь найти, над каким контролом в настоящий момент находится мышь: ChildWindowFromPoint (что-то в этом роде). -------------------- ... |
|||
|
||||
| CityAC |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 3.11.2006 Где: Украина Горловка Репутация: 1 Всего: 1 |
да спасибо.
Я вычитал эту функцию в вашем же посте в этой ветке. Но что значит Child в данном случае. кнопка ОК - это child?
--------------------
Вижу цель, не вижу припятствий. |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
| CityAC |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 3.11.2006 Где: Украина Горловка Репутация: 1 Всего: 1 |
Разобрался, нужно было pMsg->pt привести к клиетским координатам --------------------
Вижу цель, не вижу припятствий. |
||||
|
|||||
| 13dreams |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 1.7.2010 Репутация: нет Всего: нет |
Простите, как изменить координаты самой кнопки использую вышеизложенный код? (как её перерисовать)
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Перечитывать древний топик сильно влом, поэтому отвечу "наугад" - MoveWindow?
-------------------- ... |
|||
|
||||
| 13dreams |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 1.7.2010 Репутация: нет Всего: нет |
Задача состоит в том, чтобы пользователь мог перетащить созданную кнопку по окну
я хотел спросить где и как реализуется само изменение её координат |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |