![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: 1 Всего: 0 |
Привет )
Хочу реализовать Drag & Drop контролов - какие только возможны в WinAPI Для начала бы неплохо просто перемещение сделать... Есть 4 вопроса: оффтоп: можно ли сделать процедурку для нескольких контроллов? - если да, то для перетаскивания в пределах пэрэнта HTCAPTION (WM_NCHITTEST) подойдет? - как это вообще в Visual'ах реализовано? - может проще сделать какой-нить эмулятор вроде статика на момент перетаскивания? Ой спасиба! Это сообщение отредактировал(а) MoZy - 7.6.2008, 20:17 --------------------
Experimentia est optima rerum magistra |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
||||
|
||||
| MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: 1 Всего: 0 |
Ням ням.. не оч понял )
Я бы хотел что-то вроде отлова MOUSEDOWN/UP на любом дочернем контролле и штоб этот отлов был в пределах одной процедурки.. Какой мне хук юзать? =) WH_MOUSE? --------------------
Experimentia est optima rerum magistra |
|||
|
||||
| 586 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Можно и WH_MOUSE. А окно под курсором определять с помощью WindowFromPoint и делать перемещение с помощью WM_SYSCOMMAND 0xF012. Можно использовать WH_CALLWNDPROC и обрабатывать WM_NCHITTEST.
Так и будет.
|
||||
|
|||||
| MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: 1 Всего: 0 |
Круто! Спсибо!
Первый раз юзаю хуки. Прикольно робит. В последней стадии застрял: зашел я значит в WM_NCHITTEST, определил, что окно то которое надо - теперь че делать? возврат HTCAPTION никакого эффекта не дает WM_LBUTTONDOWN че-то не ловит вообще. В WM_NCHITTEST шлю SendMessage(hwndDist,WM_SYSCOMMAND,SC_MOVE,MAKEWORD(0,0)); пока сдвинуть сместа не удалось, но теперь перекрестие появляется Это сообщение отредактировал(а) MoZy - 7.6.2008, 22:56 --------------------
Experimentia est optima rerum magistra |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Это сообщение отредактировал(а) 586 - 8.6.2008, 06:59 |
|||
|
||||
| MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: 1 Всего: 0 |
586, просто СУПЕР простой метод!!! Огромное спасибо!
Я вот переваял на WinAPI, если кому нада:
--------------------
Experimentia est optima rerum magistra |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |