| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Foxpro/Clipper/Dbase > Перетащить форму не только за самый верх. Как? |
| Автор: Leklerk 18.10.2012, 09:23 |
| Добрый день! Подскажите пожалуйста, как сделать, чтобы форму можно было перетащить не только за самый верх? |
| Автор: Данкинг 18.10.2012, 10:02 |
| А вообще такое на практике встречается где-либо? Что-то не припомню программ, которые можно таскать за любую часть формы. |
| Автор: Reese 18.10.2012, 11:33 |
| В nix-системах почти везде так работает. Детально не опишу, но приблизительно так В методе формы MouseDown при зажатой клавише (допустим alt, узнать состояние клавиши можно через winapi. см. GetAsyncKeyState(VK_MENU)) сохраняем координаты мыши относительно формы (узнать координаты мыши - AMOUSEOBJ, дальше простая арифметика). В методе MouseUp двигаем форму (метод move) и передаем ему новые координаты мыши + дельта, рассчитанная в методе MouseDown. |
| Автор: Leklerk 18.10.2012, 18:32 |
| Reese, большое спасибо! |