|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2013, 11:17 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Перетаскивание контрола по окну происходит не корректно
Здравствуйте.
В окне WinAPI имею контрол с классом "Static" (img: HWND). Изначально растянут под размер главного окна. Залит битмапом. Нужно мышью перетаскивать этот img по главному окну. Код:
не пойму, почему. Последний раз редактировалось BLACK_RAIN; 05.04.2013 в 11:19. |
05.04.2013, 12:05 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
oldx/oldy надо обновлять после каждого сдвига в WM_MOUSEMOVE.
Кроме того, есть гораздо более простой способ - перехватить сообщение WM_NCHITTEST и вместо HTCLIENT возвращать HTCAPTION. |
05.04.2013, 12:46 | #3 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Код:
Цитата:
p.s. попробовал через WM_NCHITTEST. Возвращаю HTCAPTION. Но чего-то окно img не хочет двигаться. В другом проекте с Parent-окном это работает. Подскажите лучше по первому варианту. На что менять oldx и oldy? Последний раз редактировалось BLACK_RAIN; 05.04.2013 в 13:20. |
|
05.04.2013, 15:56 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Сначала сдвинуть координаты, потом в oldx/oldy запомнить координаты мыши
|
05.04.2013, 16:17 | #5 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
08.04.2013, 11:30 | #6 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
А как сделать окно img пониз всех окон, чтобы остальные child-окна им не перекрывались? SetWindowPos(...,HWND_TOPMOST,...) не помогает.
Цитата:
Код:
Последний раз редактировалось BLACK_RAIN; 08.04.2013 в 11:51. |
|
08.04.2013, 13:14 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
У child окон установлен флаг WS_CLIPSIBLINGS?
|
08.04.2013, 13:27 | #8 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
нет. Сейчас поставил - не помогло. Что сделать?
Последний раз редактировалось BLACK_RAIN; 08.04.2013 в 15:09. |
09.04.2013, 07:29 | #9 |
Пользователь
Регистрация: 28.03.2013
Сообщений: 14
|
BLACK_RAIN! Покажи на скриншоте , что не получается и что требуется.
|
09.04.2013, 09:22 | #10 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как узнать ID контрола? | BLACK_RAIN | Win Api | 2 | 03.05.2012 17:47 |
регистрация контрола | Ципихович Эндрю | Microsoft Office Word | 0 | 04.04.2012 05:23 |
Привязка Контрола к контролу в массиве | johnik1976 | C# (си шарп) | 2 | 21.02.2012 10:50 |
Текст из Edit контрола | jungle | Win Api | 2 | 27.10.2009 19:22 |
Добавление контрола на форму | ЯИмя | Microsoft Office Excel | 1 | 08.07.2009 15:58 |