Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Как таскать форму за любое место |
Автор: Ch0bits 17.5.2007, 22:31 |
Как таскать форму за любое место и контрол на ней? Идея в том, чтобы поймать нажатие левой кнопки мыши и пока нажата, перемещать форму синхронно мыши в десктопных координатах. Я переопределил WndProc и пробовал ловить WM_NCHITTEST, но он не ловится на контролах. Пробовал WM_LBUTTONDOWN, но он не появляется вообще. Додумался вести логи всех поступающих сообщений, при нажатии на левую кнопку мыши поступают только WM_PARENTNOTIFY и WM_MOUSEACTIVATE. Что делать? ![]() |
Автор: XavierElf 18.5.2007, 08:25 | ||
Тоже сейчас мучаюсь с этим. Реализовал таким образом:
Однако осталась проблема, что при перемещении у формы появляется "шлейф", который не сразу пропадает... |
Автор: Ch0bits 18.5.2007, 10:21 | ||
Спасибо, я уже решил проблему.
Теперь синхронно таскать форму за все контролы и контейнеры. ![]() |